Coser-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
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- 1258 discussions
r473 - in trunk/coser-business/src/test: java/fr/ifremer/coser/services resources/projects/projectctrvalidated/selections/testselection1 resources/projects/projectctrvalidated/selections/testselection1/results resources/projects/projectctrvalidated/selections/testselection1/results/testresult1
by chatellier@users.labs.libre-entreprise.org 06 Jan '11
by chatellier@users.labs.libre-entreprise.org 06 Jan '11
06 Jan '11
Author: chatellier
Date: 2011-01-06 10:40:19 +0000 (Thu, 06 Jan 2011)
New Revision: 473
Log:
Ajout d'un test sur les r?\195?\169sultats
Added:
trunk/coser-business/src/test/resources/projects/projectctrvalidated/selections/testselection1/results/
trunk/coser-business/src/test/resources/projects/projectctrvalidated/selections/testselection1/results/testresult1/
trunk/coser-business/src/test/resources/projects/projectctrvalidated/selections/testselection1/results/testresult1/EstComInd_test.txt
trunk/coser-business/src/test/resources/projects/projectctrvalidated/selections/testselection1/results/testresult1/EstPopInd_test.txt
trunk/coser-business/src/test/resources/projects/projectctrvalidated/selections/testselection1/results/testresult1/result.properties
Modified:
trunk/coser-business/src/test/java/fr/ifremer/coser/services/ProjectServiceTest.java
Modified: trunk/coser-business/src/test/java/fr/ifremer/coser/services/ProjectServiceTest.java
===================================================================
--- trunk/coser-business/src/test/java/fr/ifremer/coser/services/ProjectServiceTest.java 2011-01-06 10:30:58 UTC (rev 472)
+++ trunk/coser-business/src/test/java/fr/ifremer/coser/services/ProjectServiceTest.java 2011-01-06 10:40:19 UTC (rev 473)
@@ -42,6 +42,7 @@
import fr.ifremer.coser.CoserConstants;
import fr.ifremer.coser.CoserConstants.Category;
import fr.ifremer.coser.bean.Project;
+import fr.ifremer.coser.bean.RSufiResult;
import fr.ifremer.coser.bean.Selection;
import fr.ifremer.coser.command.Command;
import fr.ifremer.coser.command.DeleteLineCommand;
@@ -121,9 +122,16 @@
Assert.assertEquals(1, selection.getHistoryCommand().size()); // un merge
Assert.assertEquals("Test selectedSpeciesOccDensComment", selection.getSelectedSpeciesOccDensComment());
Assert.assertEquals(3.5, selection.getDensityFilter(), 0);
-
+
+ // un resultat
+ RSufiResult rSufiResult = selection.getRsufiResults().get(0);
+ Assert.assertEquals("testresult1", rSufiResult.getName());
+ Assert.assertEquals("myzone", rSufiResult.getZone());
+
+ // non validé
Project projectNotValidated = openTestProject(projectService, "project2");
Assert.assertFalse(projectNotValidated.getControl().isValidated());
+
}
/**
Added: trunk/coser-business/src/test/resources/projects/projectctrvalidated/selections/testselection1/results/testresult1/EstComInd_test.txt
===================================================================
--- trunk/coser-business/src/test/resources/projects/projectctrvalidated/selections/testselection1/results/testresult1/EstComInd_test.txt (rev 0)
+++ trunk/coser-business/src/test/resources/projects/projectctrvalidated/selections/testselection1/results/testresult1/EstComInd_test.txt 2011-01-06 10:40:19 UTC (rev 473)
@@ -0,0 +1,8 @@
+Campagne Indicateur Liste Strate Annee Estimation EcartType CV
+COSER_TEST Delta m1 Total 2005 0.00158515572607873 0.000984730247180753 0.621219878261882
+COSER_TEST Delta m1 Total 2009 0.0476283033138584 0.0151443086213752 0.317968677607053
+COSER_TEST Delta c1 Total 2005 0.00646357387617557 0.00215034288588182 0.332686363160152
+COSER_TEST Delta c1 Total 2009 0.0695548460030265 0.0185708842538978 0.266996267277908
+COSER_TEST Delta p1 Total 1983 0.737241187520257 0.00659773901507874 0.00894922737194123
+COSER_TEST Delta p1 Total 1986 0.730696719394954 0.0192883714063304 0.0263972327976263
+
Added: trunk/coser-business/src/test/resources/projects/projectctrvalidated/selections/testselection1/results/testresult1/EstPopInd_test.txt
===================================================================
--- trunk/coser-business/src/test/resources/projects/projectctrvalidated/selections/testselection1/results/testresult1/EstPopInd_test.txt (rev 0)
+++ trunk/coser-business/src/test/resources/projects/projectctrvalidated/selections/testselection1/results/testresult1/EstPopInd_test.txt 2011-01-06 10:40:19 UTC (rev 473)
@@ -0,0 +1,7 @@
+Campagne Indicateur Liste Espece Strate Annee Estimation EcartType CV
+COSER_TEST lnN L2 COSER_SPECIES1 Total 2001 16.5576325818007 0.1654168567871 0.00999036885073279
+COSER_TEST lnN L3 COSER_SPECIES2 Total 1999 18.4833935818621 0.0287121599216956 0.00155340304768877
+COSER_TEST Wbar L2 COSER_SPECIES1 Total 1983 0.0220057182719674 0.000818725789680143 0.0372051382082402
+COSER_TEST Abundance L2 COSER_SPECIES2 Total 1983 6334938.17950327 235692.250509076 0.0372051382082401
+COSER_TEST Biomass L2 COSER_SPECIES1 Total 2007 4634200.30159478 2761107.91858038 0.595811086894581
+
Added: trunk/coser-business/src/test/resources/projects/projectctrvalidated/selections/testselection1/results/testresult1/result.properties
===================================================================
--- trunk/coser-business/src/test/resources/projects/projectctrvalidated/selections/testselection1/results/testresult1/result.properties (rev 0)
+++ trunk/coser-business/src/test/resources/projects/projectctrvalidated/selections/testselection1/results/testresult1/result.properties 2011-01-06 10:40:19 UTC (rev 473)
@@ -0,0 +1,5 @@
+#Mon Jan 03 16:12:49 CET 2011
+result.rsufiversion=1.2.3
+result.zone=myzone
+result.estPopIndName=EstPopInd_test.txt
+result.estComIndName=EstComInd_test.txt
1
0
r472 - in trunk/coser-business/src/test/resources/projects: project2 projectctrvalidated
by chatellier@users.labs.libre-entreprise.org 06 Jan '11
by chatellier@users.labs.libre-entreprise.org 06 Jan '11
06 Jan '11
Author: chatellier
Date: 2011-01-06 10:30:58 +0000 (Thu, 06 Jan 2011)
New Revision: 472
Log:
Prise en compte du nouveau fichier code type espece (code en plus)
Modified:
trunk/coser-business/src/test/resources/projects/project2/codeTypeEspeces.csv
trunk/coser-business/src/test/resources/projects/projectctrvalidated/codeTypeEspeces.csv
Modified: trunk/coser-business/src/test/resources/projects/project2/codeTypeEspeces.csv
===================================================================
--- trunk/coser-business/src/test/resources/projects/project2/codeTypeEspeces.csv 2011-01-06 10:29:52 UTC (rev 471)
+++ trunk/coser-business/src/test/resources/projects/project2/codeTypeEspeces.csv 2011-01-06 10:30:58 UTC (rev 472)
@@ -1,4 +1,4 @@
-"Types";"Commentaire";"NumSys min";"NumSys max"
-"Type1";;"00001";"00002"
-"Type2";;"00003";"00005"
-"Type3";;"00006";"00010"
+"Types";"Commentaire";"NumSys min";"NumSys max";"Code"
+"Type1";;"00001";"00002";"a"
+"Type2";;"00003";"00005";"m"
+"Type3";;"00006";"00010";"p"
Modified: trunk/coser-business/src/test/resources/projects/projectctrvalidated/codeTypeEspeces.csv
===================================================================
--- trunk/coser-business/src/test/resources/projects/projectctrvalidated/codeTypeEspeces.csv 2011-01-06 10:29:52 UTC (rev 471)
+++ trunk/coser-business/src/test/resources/projects/projectctrvalidated/codeTypeEspeces.csv 2011-01-06 10:30:58 UTC (rev 472)
@@ -1,4 +1,4 @@
-"Types";"Commentaire";"NumSys min";"NumSys max"
-"Type1";;"00001";"00002"
-"Type2";;"00003";"00005"
-"Type3";;"00006";"00010"
+"Types";"Commentaire";"NumSys min";"NumSys max";"Code"
+"Type1";;"00001";"00002";"a"
+"Type2";;"00003";"00005";"m"
+"Type3";;"00006";"00010";"p"
1
0
r471 - trunk/coser-business/src/test/resources/csv/correct
by chatellier@users.labs.libre-entreprise.org 06 Jan '11
by chatellier@users.labs.libre-entreprise.org 06 Jan '11
06 Jan '11
Author: chatellier
Date: 2011-01-06 10:29:52 +0000 (Thu, 06 Jan 2011)
New Revision: 471
Log:
Prise en compte du nouveau fichier code type espece (code en plus)
Modified:
trunk/coser-business/src/test/resources/csv/correct/testtypeespeces.csv
Modified: trunk/coser-business/src/test/resources/csv/correct/testtypeespeces.csv
===================================================================
--- trunk/coser-business/src/test/resources/csv/correct/testtypeespeces.csv 2011-01-06 10:26:42 UTC (rev 470)
+++ trunk/coser-business/src/test/resources/csv/correct/testtypeespeces.csv 2011-01-06 10:29:52 UTC (rev 471)
@@ -1,4 +1,4 @@
-"Types";"Commentaire";"NumSys min";"NumSys max"
-"Type1";;"00001";"00002"
-"Type2";;"00003";"00005"
-"Type3";;"00006";"00010"
+"Types";"Commentaire";"NumSys min";"NumSys max";"Code"
+"Type1";;"00001";"00002";"a"
+"Type2";;"00003";"00005";"m"
+"Type3";;"00006";"00010";"p"
1
0
r470 - in trunk/coser-business/src/main/java/fr/ifremer/coser: bean services
by chatellier@users.labs.libre-entreprise.org 06 Jan '11
by chatellier@users.labs.libre-entreprise.org 06 Jan '11
06 Jan '11
Author: chatellier
Date: 2011-01-06 10:26:42 +0000 (Thu, 06 Jan 2011)
New Revision: 470
Log:
Prise en compte du nouveau fichier code type espece (code en plus)
Modified:
trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Project.java
trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java
trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java
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 2011-01-06 10:26:02 UTC (rev 469)
+++ trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Project.java 2011-01-06 10:26:42 UTC (rev 470)
@@ -62,7 +62,7 @@
};
public static final String[] TYPE_ESPECE_HEADER = {
- "Types","Commentaire","NumSys min","NumSys max"
+ "Types","Commentaire","NumSys min","NumSys max","Code"
};
public static final String PROPERTY_SELECTIONS = "selections";
Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java
===================================================================
--- trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java 2011-01-06 10:26:02 UTC (rev 469)
+++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java 2011-01-06 10:26:42 UTC (rev 470)
@@ -907,7 +907,7 @@
Iterator<String[]> itTypeSpecies = project.getTypeEspeces().iterator();
itTypeSpecies.next(); // skip header
while (itTypeSpecies.hasNext()) {
- // "Types";"Commentaire";"NumSys min";"NumSys max"
+ // "Types";"Commentaire";"NumSys min";"NumSys max","Code"
String[] tuple = itTypeSpecies.next();
String specyType = tuple[0];
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 2011-01-06 10:26:02 UTC (rev 469)
+++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java 2011-01-06 10:26:42 UTC (rev 470)
@@ -1609,7 +1609,7 @@
/**
* Retourne la liste des type d'especes definie dans le projet sous forme
- * de map avec leur commentaire.
+ * de map avec leur commentaire (sauf "Tous").
*
* @param project project to search into
* @return project species type
@@ -1617,7 +1617,7 @@
public Map<String, String> getProjectSpeciesTypes(Project project) {
SortedMap<String, String> types = new TreeMap<String, String>();
- // "Types","Commentaire","NumSys min","NumSys max"
+ // "Types","Commentaire","NumSys min","NumSys max","Code"
Iterator<String[]> itTuples = project.getTypeEspeces().iterator();
itTuples.next(); // skip headers
@@ -1627,7 +1627,13 @@
String type = tuple[0];
String comment = tuple[1];
- types.put(type, comment);
+ String numSysMin = tuple[2];
+ String numSysMax = tuple[3];
+
+ // pour le cas "Tous", min est max sont a 0, donc pas filtrable
+ if (!numSysMin.equals(numSysMax)) {
+ types.put(type, comment);
+ }
}
return types;
@@ -1830,7 +1836,7 @@
Iterator<String[]> itTypeSpecies = project.getTypeEspeces().iterator();
itTypeSpecies.next(); // skip header
while (itTypeSpecies.hasNext()) {
- // "Types";"Commentaire";"NumSys min";"NumSys max"
+ // "Types";"Commentaire";"NumSys min";"NumSys max","Code"
String[] tuple = itTypeSpecies.next();
String specyType = tuple[0];
1
0
r469 - trunk/coser-business/src/main/resources/i18n
by chatellier@users.labs.libre-entreprise.org 06 Jan '11
by chatellier@users.labs.libre-entreprise.org 06 Jan '11
06 Jan '11
Author: chatellier
Date: 2011-01-06 10:26:02 +0000 (Thu, 06 Jan 2011)
New Revision: 469
Log:
Update i18n
Modified:
trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties
trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties
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 2011-01-06 10:02:18 UTC (rev 468)
+++ trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties 2011-01-06 10:26:02 UTC (rev 469)
@@ -104,8 +104,10 @@
coser.config.selection.occurrenceFilter.description=Default occurrence filter value
coser.config.validator.directory.description=Validation files directory location
coser.config.web.frontend.description=Coser server url
+coser.config.web.matchindicators.file.description=Indicators match file
+coser.config.web.matchzones.file.description=Zones match file
+coser.config.web.projects.directory.description=Web projects storage directory
coser.config.web.server.directory.description=Coser server storage directory
-coser.config.web.uploadpassword.description=Coser server upload result admin password
coser.config.web.uploadurl.description=Coser server upload result url
depth\ attribute\ is\ not\ a\ valid\ double=
haul\ name\ is\ not\ valid=
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 2011-01-06 10:02:18 UTC (rev 468)
+++ trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties 2011-01-06 10:26:02 UTC (rev 469)
@@ -104,8 +104,10 @@
coser.config.selection.occurrenceFilter.description=Filtre par d\u00E9faut sur la moyenne des occurrences
coser.config.validator.directory.description=Emplacement des fichiers de validations
coser.config.web.frontend.description=Adresse du serveur web coser
+coser.config.web.matchindicators.file.description=Fichier de correspondance des indicateurs
+coser.config.web.matchzones.file.description=Fichier de correspondance des zones
+coser.config.web.projects.directory.description=Dossier de stockage des projets pour le Web
coser.config.web.server.directory.description=Dossier de stockage des projets sur le serveur
-coser.config.web.uploadpassword.description=Mot de passe pour l'envoi des r\u00E9sultats
coser.config.web.uploadurl.description=Adresse d'envoi des r\u00E9sultats
depth\ attribute\ is\ not\ a\ valid\ double=L'attribut ProfMoy n'est pas un r\u00E9el valide
haul\ name\ is\ not\ valid=L'attribut Trait n'est pas valide
1
0
r468 - in trunk/coser-ui/src/main: java/fr/ifremer/coser/ui resources/i18n
by chatellier@users.labs.libre-entreprise.org 06 Jan '11
by chatellier@users.labs.libre-entreprise.org 06 Jan '11
06 Jan '11
Author: chatellier
Date: 2011-01-06 10:02:18 +0000 (Thu, 06 Jan 2011)
New Revision: 468
Log:
Move publication ui to his own menu.
Change coser home view test.
Modified:
trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrame.jaxx
trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java
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-ui/src/main/java/fr/ifremer/coser/ui/CoserFrame.jaxx
===================================================================
--- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrame.jaxx 2011-01-05 17:20:52 UTC (rev 467)
+++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrame.jaxx 2011-01-06 10:02:18 UTC (rev 468)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
+ Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as
@@ -28,27 +28,29 @@
<CoserFrameHandler id="handler" constructorParams="this" />
<fr.ifremer.coser.bean.Project id="project" javaBean="null" />
- <JMenuBar id='coserMenuBar'>
+ <JMenuBar>
- <JMenu id='menuFile' text="coser.ui.mainframe.menu.file">
+ <JMenu text="coser.ui.mainframe.menu.file">
<JMenuItem text="coser.ui.mainframe.menu.newProject" onActionPerformed="getHandler().showProjectCreationView()"/>
<JMenuItem text="coser.ui.mainframe.menu.openProject" onActionPerformed="getHandler().showProjectOpenView()"/>
<JMenuItem text="coser.ui.mainframe.menu.editProject" onActionPerformed="getHandler().showProjectEditView()" enabled="{getProject() != null}" />
<JMenuItem text="coser.ui.mainframe.menu.closeProject" onActionPerformed="getHandler().closeProject()" enabled="{getProject() != null}" />
<JSeparator/>
- <JMenuItem text="coser.ui.mainframe.menu.uploadResult" onActionPerformed="getHandler().showUploadResultView()"/>
- <JSeparator/>
<JMenuItem text="coser.ui.mainframe.menu.quit" onActionPerformed="getHandler().quit()"/>
</JMenu>
- <JMenu id='menuWindow' text="coser.ui.mainframe.menu.data" enabled="{getProject() != null}">
+ <JMenu text="coser.ui.mainframe.menu.data" enabled="{getProject() != null}">
<JMenuItem text="coser.ui.mainframe.menu.data.summary" onActionPerformed="getHandler().showSummaryView()"/>
<JMenuItem text="coser.ui.mainframe.menu.data.control" onActionPerformed="getHandler().showControlView()"/>
<SelectionsListMenuItem id="menuWindowSelectionMenuItem" project="{getProject()}"
text="coser.ui.mainframe.menu.data.selections" constructorParams="this" />
</JMenu>
+
+ <JMenu text="coser.ui.mainframe.menu.admin">
+ <JMenuItem text="coser.ui.mainframe.menu.admin.publishResult" onActionPerformed="getHandler().showPublishResultView()"/>
+ </JMenu>
- <JMenu id='menuOptions' text="coser.ui.mainframe.menu.options">
+ <JMenu text="coser.ui.mainframe.menu.options">
<JMenuItem text="coser.ui.mainframe.menu.configuration" onActionPerformed="getHandler().showCoserConfiguration()"/>
<JMenuItem text="coser.ui.mainframe.menu.validators" onActionPerformed="getHandler().showValidatorsConfiguration()" />
<JSeparator/>
@@ -56,12 +58,12 @@
<JMenuItem actionIcon="i18n-gb" text="coser.ui.mainframe.menu.locale.uk" onActionPerformed="getHandler().switchLanguage(this, Locale.UK)"/>
</JMenu>
- <JMenu id='menuView' text="coser.ui.mainframe.menu.view">
+ <JMenu text="coser.ui.mainframe.menu.view">
<fr.ifremer.coser.ui.widgets.LookAndFeelViewMenuItem text="coser.ui.mainframe.menu.view.lookandfeel"
onPropertyChange="getHandler().saveLookAndFeelConfiguration(event)"/>
</JMenu>
- <JMenu id='menuHelp' text="coser.ui.mainframe.menu.help">
+ <JMenu text="coser.ui.mainframe.menu.help">
<JMenuItem text="coser.ui.mainframe.menu.website" onActionPerformed="getHandler().showCoserWebsite()"/>
</JMenu>
</JMenuBar>
Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java
===================================================================
--- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java 2011-01-05 17:20:52 UTC (rev 467)
+++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java 2011-01-06 10:02:18 UTC (rev 468)
@@ -3,7 +3,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
+ * Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -182,7 +182,6 @@
modelBuilder.addOption(CoserBusinessConfig.CoserBusinessOption.REFERENCE_SPECIES);
modelBuilder.addOption(CoserBusinessConfig.CoserBusinessOption.REFERENCE_TYPE_ESPECES);
modelBuilder.addOption(CoserBusinessConfig.CoserBusinessOption.WEB_FRONT_END);
- modelBuilder.addOption(CoserBusinessConfig.CoserBusinessOption.WEB_UPLOAD_PASSWORD);
// category control
modelBuilder.addCategory(_("coser.config.category.configuration"), _("coser.config.category.configuration.description"));
@@ -499,9 +498,9 @@
}
/**
- * Display ui to select result to upload to website.
+ * Display ui to select result to upload to website or to export as archive.
*/
- public void showUploadResultView() {
+ public void showPublishResultView() {
ProjectService projectService = view.getContextValue(ProjectService.class);
List<String[]> results = projectService.findAllProjectWithResult();
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 2011-01-05 17:20:52 UTC (rev 467)
+++ trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties 2011-01-06 10:02:18 UTC (rev 468)
@@ -62,9 +62,11 @@
coser.ui.graph.compareNumberCatchLength=Comparison Catch/Length
coser.ui.graph.compareNumberCatchLengthTip=Display catch and length number comparison graphs (data are generated only during error check)
coser.ui.graph.lengthStructure=Length structure
-coser.ui.home.text=Pro viri copia cum lassatis cuius inopia est sine provenisset pauloque frumentum horreis indolis consule provenisset<br />actitatum provenisset segetum etiam provenisset negotium integre textum tempore copia sine viri sine negotium dedit<br />regeret indolis dedit destinatis dedit destinatis provenisset Romano sine actitatum negotium<br />sine iam provenisset sine Africam iam praeclarae copia cum Africam viri actitatum frumentum tempore victus Romano pauloque<br />sine textum pro Africam praeclarae est actitatum copia restituit negotium esse indolis<br />iam copia cum regeret novimus consule horreis frumentum indolis cum postea cuius lassatis cum indoli<br />copia lassatis cum novimus mora ex praeclarae iam pro horreis Romano ex regeret indolis etiam.
+coser.ui.home.text=<html><center><b>CoSeR</b><br /><br />Le logiciel Coser est con\u00E7u par l'Ifremer (projet Syst\u00E8me d'informations halieutiques) comme l'un des maillons<br />d'une cha\u00EEne de traitement des donn\u00E9es des campagnes halieutiques pour calculer des indicateurs \u00E9cosyst\u00E9miques.<br />Il se situe \u00E0 l'interface entre les donn\u00E9es extraites des bases de donn\u00E9es source des campagnes et le logiciel<br />de calcul R-Sufi. Il remplit trois fonctions \: contr\u00F4le de qualit\u00E9 des donn\u00E9es, s\u00E9lection de jeux de donn\u00E9es<br />coh\u00E9rents en r\u00E9f\u00E9rence aux objectifs de calcul et gestion de la m\u00E9ta-information relative aux traitements r\u00E9alis\u00E9s.<br /><br />Coser a \u00E9t\u00E9 cr\u00E9\u00E9 par Code Lutin avec des logiciels libres dans le cadre d'une convention Ifremer-MEEDDM 2010.</center></html>
coser.ui.locale.mustRestart=You must restart application to take effect
coser.ui.locale.title=Locale modification
+coser.ui.mainframe.menu.admin=Admin
+coser.ui.mainframe.menu.admin.publishResult=Results publication
coser.ui.mainframe.menu.closeProject=Close project
coser.ui.mainframe.menu.configuration=Configuration
coser.ui.mainframe.menu.data=Data
@@ -84,7 +86,6 @@
coser.ui.mainframe.menu.openProject=Open project
coser.ui.mainframe.menu.options=Options
coser.ui.mainframe.menu.quit=Quit
-coser.ui.mainframe.menu.uploadResult=Results publication
coser.ui.mainframe.menu.validators=Controls
coser.ui.mainframe.menu.view=View
coser.ui.mainframe.menu.view.lookandfeel=Look and feel
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 2011-01-05 17:20:52 UTC (rev 467)
+++ trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties 2011-01-06 10:02:18 UTC (rev 468)
@@ -62,9 +62,11 @@
coser.ui.graph.compareNumberCatchLength=Comparaison Captures/Tailles
coser.ui.graph.compareNumberCatchLengthTip=Affiche les graphiques de comparaison des nombres entre les captures et les tailles (Les donn\u00E9es sont g\u00E9n\u00E9r\u00E9es uniquement lors de la v\u00E9rification des erreurs)
coser.ui.graph.lengthStructure=Structures en taille
-coser.ui.home.text=<html><center>Pro viri copia cum lassatis cuius inopia est sine provenisset pauloque frumentum horreis <b>indolis consule provenisset</b><br />actitatum provenisset segetum etiam provenisset negotium integre textum tempore copia sine viri sine negotium dedit<br />regeret indolis dedit destinatis dedit destinatis provenisset Romano sine actitatum negotium<br />sine iam provenisset sine Africam iam praeclarae copia cum Africam viri actitatum frumentum tempore victus Romano pauloque<br />sine textum pro Africam praeclarae est actitatum copia restituit negotium esse indolis<br />iam copia cum regeret novimus consule horreis frumentum indolis cum postea cuius lassatis cum indoli<br />copia lassatis cum novimus mora ex praeclarae iam pro horreis Romano ex regeret indolis etiam.</center></html>
+coser.ui.home.text=<html><center><b>CoSeR</b><br /><br />Le logiciel Coser est con\u00E7u par l'Ifremer (projet Syst\u00E8me d'informations halieutiques) comme l'un des maillons<br />d'une cha\u00EEne de traitement des donn\u00E9es des campagnes halieutiques pour calculer des indicateurs \u00E9cosyst\u00E9miques.<br />Il se situe \u00E0 l'interface entre les donn\u00E9es extraites des bases de donn\u00E9es source des campagnes et le logiciel<br />de calcul R-Sufi. Il remplit trois fonctions \: contr\u00F4le de qualit\u00E9 des donn\u00E9es, s\u00E9lection de jeux de donn\u00E9es<br />coh\u00E9rents en r\u00E9f\u00E9rence aux objectifs de calcul et gestion de la m\u00E9ta-information relative aux traitements r\u00E9alis\u00E9s.<br /><br />Coser a \u00E9t\u00E9 cr\u00E9\u00E9 par Code Lutin avec des logiciels libres dans le cadre d'une convention Ifremer-MEEDDM 2010.</center></html>
coser.ui.locale.mustRestart=Vous devez red\u00E9marrer l'application pour prendre en compte la modification.
coser.ui.locale.title=Modification de la langue
+coser.ui.mainframe.menu.admin=Administration
+coser.ui.mainframe.menu.admin.publishResult=Publication des r\u00E9sultats
coser.ui.mainframe.menu.closeProject=Fermer le projet
coser.ui.mainframe.menu.configuration=Configuration
coser.ui.mainframe.menu.data=Donn\u00E9es
@@ -84,7 +86,6 @@
coser.ui.mainframe.menu.openProject=Ouvrir un projet
coser.ui.mainframe.menu.options=Options
coser.ui.mainframe.menu.quit=Quitter
-coser.ui.mainframe.menu.uploadResult=Publication des r\u00E9sultats
coser.ui.mainframe.menu.validators=Contr\u00F4les
coser.ui.mainframe.menu.view=Vue
coser.ui.mainframe.menu.view.lookandfeel=Th\u00E8me
1
0
r467 - in trunk/coser-business/src: main/java/fr/ifremer/coser main/java/fr/ifremer/coser/services test/java/fr/ifremer/coser/services test/resources test/resources/web
by chatellier@users.labs.libre-entreprise.org 05 Jan '11
by chatellier@users.labs.libre-entreprise.org 05 Jan '11
05 Jan '11
Author: chatellier
Date: 2011-01-05 17:20:52 +0000 (Wed, 05 Jan 2011)
New Revision: 467
Log:
Ajout du merge des resulats lors de l'upload (suivante l'id zone/sous zone)
Added:
trunk/coser-business/src/test/java/fr/ifremer/coser/services/WebServiceTest.java
trunk/coser-business/src/test/resources/web/
trunk/coser-business/src/test/resources/web/upload1.zip
trunk/coser-business/src/test/resources/web/upload2.zip
Modified:
trunk/coser-business/src/main/java/fr/ifremer/coser/CoserBusinessConfig.java
trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java
trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java
Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/CoserBusinessConfig.java
===================================================================
--- trunk/coser-business/src/main/java/fr/ifremer/coser/CoserBusinessConfig.java 2011-01-05 15:05:00 UTC (rev 466)
+++ trunk/coser-business/src/main/java/fr/ifremer/coser/CoserBusinessConfig.java 2011-01-05 17:20:52 UTC (rev 467)
@@ -122,13 +122,23 @@
return result;
}
- public String getWebUploadPassword() {
- String result = getOption(CoserBusinessOption.WEB_UPLOAD_PASSWORD.key);
+ public File getWebServerDirectory() {
+ File result = getOptionAsFile(CoserBusinessOption.WEB_SERVER_DIRECTORY.key);
return result;
}
+
+ public File getWebProjectsDirectory() {
+ File result = getOptionAsFile(CoserBusinessOption.WEB_PROJECTS_DIRECTORY.key);
+ return result;
+ }
+
+ public File getMatchIndicatorsFile() {
+ File result = getOptionAsFile(CoserBusinessOption.WEB_MATCH_INDICATORS.key);
+ return result;
+ }
- public File getWebServerDirectory() {
- File result = getOptionAsFile(CoserBusinessOption.WEB_SERVER_DIRECTORY.key);
+ public File getMatchZonesFile() {
+ File result = getOptionAsFile(CoserBusinessOption.WEB_MATCH_ZONES.key);
return result;
}
@@ -152,10 +162,12 @@
/** Client side. */
WEB_FRONT_END("coser.web.frontend", _("coser.config.web.frontend.description"), "http://www.ifremer.fr/coser", String.class, false, false),
WEB_UPLOAD_URL("coser.web.uploadurl", _("coser.config.web.uploadurl.description"), "${" + WEB_FRONT_END.key + "}/upload-result.action", String.class, false, false),
- WEB_UPLOAD_PASSWORD("coser.web.uploadpassword", _("coser.config.web.uploadpassword.description"), "", String.class, false, false),
/** Server side. */
- WEB_SERVER_DIRECTORY("coser.web.server.directory", _("coser.config.web.server.directory.description"), "${" + DATABASE_DIRECTORY.key + "}" + File.separator + "web", String.class, false, false);
+ WEB_SERVER_DIRECTORY("coser.web.server.directory", _("coser.config.web.server.directory.description"), "${" + DATABASE_DIRECTORY.key + "}" + File.separator + "web", String.class, false, false),
+ WEB_PROJECTS_DIRECTORY("coser.web.projects.directory", _("coser.config.web.projects.directory.description"), "${" + WEB_SERVER_DIRECTORY.key + "}" + File.separator + "projects", String.class, false, false),
+ WEB_MATCH_INDICATORS("coser.web.matchindicators.file", _("coser.config.web.matchindicators.file.description"), "${" + WEB_SERVER_DIRECTORY.key + "}" + File.separator + "correspondanceindicateurs.txt", String.class, false, false),
+ WEB_MATCH_ZONES("coser.web.matchzones.file", _("coser.config.web.matchzones.file.description"), "${" + WEB_SERVER_DIRECTORY.key + "}" + File.separator + "correspondancezones.txt", String.class, false, false);
protected String key;
protected String description;
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 2011-01-05 15:05:00 UTC (rev 466)
+++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java 2011-01-05 17:20:52 UTC (rev 467)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2010 Codelutin, Chatellier Eric
+ * Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -550,28 +550,9 @@
if (resultsDirectories != null) {
for (File resultDirectory : resultsDirectories) {
if (resultDirectory.isDirectory()) {
- RSufiResult rsufiResult = new RSufiResult();
+ RSufiResult rsufiResult = getRSufiResult(resultDirectory);
rsufiResult.setName(resultDirectory.getName());
results.add(rsufiResult);
-
- // relecture des informations du resultat (properties)
- File resultPropertiesFile = new File(resultDirectory, "result.properties");
- InputStream inputStream = null;
- try {
- Properties props = new Properties();
- inputStream = new FileInputStream(resultPropertiesFile);
- props.load(inputStream);
- rsufiResult.fromProperties(props);
-
- if (log.isDebugEnabled()) {
- log.debug("Read result properties file : " + resultPropertiesFile);
- }
- } catch (IOException ex) {
- throw new CoserBusinessException("Can't read result properties file", ex);
- }
- finally {
- IOUtils.closeQuietly(inputStream);
- }
}
}
}
@@ -580,6 +561,39 @@
}
/**
+ * Retourne un object {@code RSufiResult} initialise avec les données
+ * du resultat du répertoire demandé.
+ *
+ * @param resultDirectory result directory (base)
+ * @return initialized RSufiResult
+ * @throws CoserBusinessException
+ */
+ public RSufiResult getRSufiResult(File resultDirectory) throws CoserBusinessException {
+ RSufiResult rsufiResult = new RSufiResult();
+ rsufiResult.setName(resultDirectory.getName());
+
+ // relecture des informations du resultat (properties)
+ File resultPropertiesFile = new File(resultDirectory, "result.properties");
+ InputStream inputStream = null;
+ try {
+ Properties props = new Properties();
+ inputStream = new FileInputStream(resultPropertiesFile);
+ props.load(inputStream);
+ rsufiResult.fromProperties(props);
+
+ if (log.isDebugEnabled()) {
+ log.debug("Read result properties file : " + resultPropertiesFile);
+ }
+ } catch (IOException ex) {
+ throw new CoserBusinessException("Can't read result properties file", ex);
+ }
+ finally {
+ IOUtils.closeQuietly(inputStream);
+ }
+ return rsufiResult;
+ }
+
+ /**
* Load control data in an initialized project.
*
* @param project project
@@ -2933,8 +2947,8 @@
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
// password param
- StringBody passwordBody = new StringBody(config.getWebUploadPassword(), Charset.forName("UTF-8"));
- reqEntity.addPart("password", passwordBody);
+ //StringBody passwordBody = new StringBody(config.getWebUploadPassword(), Charset.forName("UTF-8"));
+ //reqEntity.addPart("password", passwordBody);
// file param
ProgressStream stream = new ProgressStream(new FileInputStream(prepareZip), progress);
Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java
===================================================================
--- trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java 2011-01-05 15:05:00 UTC (rev 466)
+++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java 2011-01-05 17:20:52 UTC (rev 467)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2010 Codelutin, Chatellier Eric
+ * Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -27,8 +27,10 @@
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.TreeMap;
@@ -36,6 +38,7 @@
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.FileUtil;
import org.nuiton.util.ZipUtil;
import fr.ifremer.coser.CoserBusinessConfig;
@@ -44,11 +47,10 @@
import fr.ifremer.coser.bean.Project;
import fr.ifremer.coser.bean.RSufiResult;
import fr.ifremer.coser.bean.Selection;
-import fr.ifremer.coser.data.Catch;
import fr.ifremer.coser.storage.DataStorage;
/**
- * Service for web server.
+ * Service specifique à l'interface web de visualisation.
*
* @author chatellier
* @version $Revision$
@@ -77,27 +79,164 @@
* Traite le fichier uploade par l'application client et l'enregistre
* dans le stockage coté web.
*
+ * Le nouveau fichier uploadé est mergé avec l'ancien, c'est à dire:
+ * <ul>
+ * <li>dezipage dans un fichier temporaire
+ * <li>recuperation des noms zone/souszone-campagne des nouveau fichiers
+ * <li>suppression dans l'ancien répertoire des resultat deja present dans le nouveau (pour les conlfits)
+ * <li>suppression des selections vide
+ * <li>suppression des projets vide
+ * <li>copie (avec ecrasement) des nouveaux fichiers dans l'ancien répertoire
+ * </ul>
+ *
* @param archiveFile uploaded file
* @throws CoserBusinessException
*/
public void registerNewUploadedResults(File archiveFile) throws CoserBusinessException {
-
- File webDirectory = config.getWebServerDirectory();
- File newDirectory = new File(webDirectory, "tutu");
+
try {
- FileUtils.deleteDirectory(newDirectory);
- newDirectory.mkdirs();
+ File projectsDirectory = config.getWebProjectsDirectory();
+ // dezipage dans un fichier temporaire
+ File tempDirectory = FileUtil.createTempDirectory("coser", ".tmp");
+ ZipUtil.uncompress(archiveFile, tempDirectory);
+
+ // recuperation des noms zone/souszone-campagne des nouveau fichiers
+ List<String> newResultIds = getResultIds(tempDirectory);
+
+ // suppression dans l'ancien répertoire des resultat deja present
+ // dans le nouveau (pour les conflits)
+ cleanCurrentProjectDirectory(projectsDirectory, newResultIds);
+
+ // copie (avec ecrasement) des nouveaux fichiers dans l'ancien répertoire
+ FileUtils.copyDirectory(tempDirectory, projectsDirectory);
+ FileUtils.deleteDirectory(tempDirectory);
+
if (log.isInfoEnabled()) {
- log.info("Unzipping file " + archiveFile + " to " + newDirectory);
+ log.info("Unzipping file " + archiveFile + " to " + projectsDirectory);
}
- ZipUtil.uncompress(archiveFile, newDirectory);
+
} catch (IOException ex) {
throw new CoserBusinessException("Can't uncompress file", ex);
}
}
/**
+ * Recupere dans un repertoire donné, les resultid des resultat (zone /
+ * sous-zone-campagne)
+ *
+ * @param scanDirectory le repertoire a scanner
+ * @return la liste des resultid
+ * @throws CoserBusinessException
+ */
+ protected List<String> getResultIds(File scanDirectory) throws CoserBusinessException {
+
+ List<String> resultIds = new ArrayList<String>();
+ File[] projectFiles = scanDirectory.listFiles();
+ if (projectFiles != null) {
+ for (File projectFile : projectFiles) {
+ if (projectFile.isDirectory()) {
+
+ File selectionsDirectory = new File(projectFile, CoserConstants.STORAGE_SELECTION_DIRECTORY);
+ File[] selectionFiles = selectionsDirectory.listFiles();
+ if (selectionFiles != null) {
+ for (File selectionFile : selectionFiles) {
+ if (selectionFile.isDirectory()) {
+
+ File resultsDirectory = new File(selectionFile, CoserConstants.STORAGE_RESULTS_DIRECTORY);
+ File[] resultFiles = resultsDirectory.listFiles();
+ if (resultFiles != null) {
+ for (File resultFile : resultFiles) {
+ if (resultFile.isDirectory()) {
+ RSufiResult rsufiResult = projectService.getRSufiResult(resultFile);
+ String resultResultId = rsufiResult.getZone();
+ if (StringUtils.isNotBlank(resultResultId)) {
+ resultIds.add(resultResultId);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return resultIds;
+ }
+
+ /**
+ * Fait le menage dans le dossier courant des projets en supprimant
+ * tout les resulat qui ont un result id non present dans la liste
+ * {@code newResultIds}.
+ *
+ * Supprime egalement les selections qui n'ont plus de résultats et
+ * les projets qui n'ont plus de selection.
+ *
+ * @param projectsDirectory projectsDirectory
+ * @param newResultIds new ids
+ * @throws CoserBusinessException
+ */
+ protected void cleanCurrentProjectDirectory(File projectsDirectory, List<String> newResultIds) throws CoserBusinessException {
+
+ try {
+ File[] projectFiles = projectsDirectory.listFiles();
+ if (projectFiles != null) {
+ for (File projectFile : projectFiles) {
+ if (projectFile.isDirectory()) {
+ int projectSelectionCount = 0;
+
+ File selectionsDirectory = new File(projectFile, CoserConstants.STORAGE_SELECTION_DIRECTORY);
+ File[] selectionFiles = selectionsDirectory.listFiles();
+ if (selectionFiles != null) {
+ for (File selectionFile : selectionFiles) {
+ if (selectionFile.isDirectory()) {
+ int selectionResultCount = 0;
+
+ File resultsDirectory = new File(selectionFile, CoserConstants.STORAGE_RESULTS_DIRECTORY);
+ File[] resultFiles = resultsDirectory.listFiles();
+ if (resultFiles != null) {
+ for (File resultFile : resultFiles) {
+ if (resultFile.isDirectory()) {
+ RSufiResult rsufiResult = projectService.getRSufiResult(resultFile);
+ String resultResultId = rsufiResult.getZone();
+ if (newResultIds.contains(resultResultId)) {
+ // un nouveau resulat utilsera ce resultid
+ FileUtils.deleteDirectory(resultFile);
+ }
+ else {
+ // un resultat valid trouvé, selection non a supprimer
+ selectionResultCount++;
+ }
+ }
+ }
+ }
+
+ // si aucun resultat valide, suppression de la seletion
+ if (selectionResultCount == 0) {
+ FileUtils.deleteDirectory(selectionFile);
+ }
+ else {
+ projectSelectionCount++;
+ }
+ }
+ }
+ }
+
+ // si aucune selection avec resultat, suppression du projet
+ if (projectSelectionCount == 0) {
+ FileUtils.deleteDirectory(projectFile);
+ }
+ }
+ }
+ }
+ } catch (IOException ex) {
+ throw new CoserBusinessException("Can't delete directory", ex);
+ }
+ }
+
+ /**
* Recuperer la liste des populations pour une zone données.
*
* @param zone zone
@@ -109,13 +248,12 @@
Map<String, String> result = new TreeMap<String, String>();
// parcours des resultats disponibles
- File webDirectory = config.getWebServerDirectory();
- File newDirectory = new File(webDirectory, "tutu");
- File[] projectFiles = newDirectory.listFiles();
+ File projectsDirectory = config.getWebProjectsDirectory();
+ File[] projectFiles = projectsDirectory.listFiles();
if (projectFiles != null) {
for (File projectFile : projectFiles) {
if (projectFile.isDirectory()) {
- Project project = projectService.openProject(projectFile.getName(), newDirectory);
+ Project project = projectService.openProject(projectFile.getName(), projectsDirectory);
for (Selection selection : project.getSelections().values()) {
boolean resultFound = false;
@@ -174,9 +312,8 @@
// get this selection data
// un peu lourd mais reconstruit le path jusqu'au fichier estcomind
- File webDirectory = config.getWebServerDirectory();
- File newDirectory = new File(webDirectory, "tutu");
- File projectDirectory = new File(newDirectory, project.getName());
+ File projectsDirectory = config.getWebProjectsDirectory();
+ File projectDirectory = new File(projectsDirectory, project.getName());
File selectionsDirectory = new File(projectDirectory, CoserConstants.STORAGE_SELECTION_DIRECTORY);
File selectionDirectory = new File(selectionsDirectory, selection.getName());
File resultsDirectory = new File(selectionDirectory, CoserConstants.STORAGE_RESULTS_DIRECTORY);
@@ -214,13 +351,12 @@
Map<String, String> indicators = new TreeMap<String, String>();
// parcours des resultats disponibles
- File webDirectory = config.getWebServerDirectory();
- File newDirectory = new File(webDirectory, "tutu");
- File[] projectFiles = newDirectory.listFiles();
+ File projectsDirectory = config.getWebProjectsDirectory();
+ File[] projectFiles = projectsDirectory.listFiles();
if (projectFiles != null) {
for (File projectFile : projectFiles) {
if (projectFile.isDirectory()) {
- Project project = projectService.openProject(projectFile.getName(), newDirectory);
+ Project project = projectService.openProject(projectFile.getName(), projectsDirectory);
for (Selection selection : project.getSelections().values()) {
boolean resultFound = false;
@@ -264,9 +400,8 @@
Map<String, String> result = new HashMap<String, String>();
// on peu lours mais reconstruit le path jusqu'au fichier estcomind
- File webDirectory = config.getWebServerDirectory();
- File newDirectory = new File(webDirectory, "tutu");
- File projectDirectory = new File(newDirectory, project.getName());
+ File projectsDirectory = config.getWebProjectsDirectory();
+ File projectDirectory = new File(projectsDirectory, project.getName());
File selectionsDirectory = new File(projectDirectory, CoserConstants.STORAGE_SELECTION_DIRECTORY);
File selectionDirectory = new File(selectionsDirectory, selection.getName());
File resultsDirectory = new File(selectionDirectory, CoserConstants.STORAGE_RESULTS_DIRECTORY);
@@ -309,13 +444,12 @@
// charge du fichier EstComInd_survey.txt ou EstPopInd_survey.txt
// suivant le type de resultat demandé (communauté/population)
- File webDirectory = config.getWebServerDirectory();
- File newDirectory = new File(webDirectory, "tutu");
- File[] projectFiles = newDirectory.listFiles();
+ File projectsDirectory = config.getWebProjectsDirectory();
+ File[] projectFiles = projectsDirectory.listFiles();
if (projectFiles != null) {
for (File projectFile : projectFiles) {
if (projectFile.isDirectory()) {
- Project project = projectService.openProject(projectFile.getName(), newDirectory);
+ Project project = projectService.openProject(projectFile.getName(), projectsDirectory);
for (Selection selection : project.getSelections().values()) {
boolean resultFound = false;
Added: trunk/coser-business/src/test/java/fr/ifremer/coser/services/WebServiceTest.java
===================================================================
--- trunk/coser-business/src/test/java/fr/ifremer/coser/services/WebServiceTest.java (rev 0)
+++ trunk/coser-business/src/test/java/fr/ifremer/coser/services/WebServiceTest.java 2011-01-05 17:20:52 UTC (rev 467)
@@ -0,0 +1,88 @@
+/*
+ * #%L
+ *
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Codelutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser 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 Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.coser.services;
+
+import java.io.File;
+import java.net.URL;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import fr.ifremer.coser.CoserBusinessException;
+
+/**
+ * Test du service de l'interface web.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class WebServiceTest extends CoserTestAbstract {
+
+ protected void assertFileExists(String filepath) {
+ File file = new File(filepath.replace('/', File.separatorChar));
+ System.out.println("testing file " + file);
+ Assert.assertTrue(file.exists());
+ }
+
+ protected void assertFileNotExists(String filepath) {
+ File file = new File(filepath.replace('/', File.separatorChar));
+ System.out.println("testing file " + file);
+ Assert.assertFalse(file.exists());
+ }
+
+ /**
+ * Test que les upload successible merge bien les resultats en fonction
+ * des idenfiants des zones auquels ils sont affectés et que les resulats
+ * en conflit sont bien supprimé (avec si besoins leurs selections et projets).
+ * @throws CoserBusinessException
+ */
+ @Test
+ public void testUploadDirectoyMerge() throws CoserBusinessException {
+ WebService webService = new WebService(config);
+
+ URL firstUpload = WebServiceTest.class.getResource("/web/upload1.zip");
+ File firstUploadFile = new File(firstUpload.getFile());
+ webService.registerNewUploadedResults(firstUploadFile);
+
+ // second upload with merge
+ URL secondUpload = WebServiceTest.class.getResource("/web/upload2.zip");
+ File secondUploadFile = new File(secondUpload.getFile());
+ webService.registerNewUploadedResults(secondUploadFile);
+
+ // some tests (from first)
+ assertFileNotExists(config.getWebProjectsDirectory() + "/projet1/selections/selection11/results/result111");
+ assertFileExists(config.getWebProjectsDirectory() + "/projet1/selections/selection11/results/result112");
+ assertFileNotExists(config.getWebProjectsDirectory() + "/projet1/selections/selection12");
+ assertFileNotExists(config.getWebProjectsDirectory() + "/projet2");
+ // some tests (from second)
+ assertFileExists(config.getWebProjectsDirectory() + "/projet1/selections/selection11/results/result113");
+ assertFileExists(config.getWebProjectsDirectory() + "/projet1/selections/selection11/results/result114");
+ assertFileExists(config.getWebProjectsDirectory() + "/projet3/selections/selection31/results/result311");
+ }
+}
Property changes on: trunk/coser-business/src/test/java/fr/ifremer/coser/services/WebServiceTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: trunk/coser-business/src/test/resources/web/upload1.zip
===================================================================
(Binary files differ)
Property changes on: trunk/coser-business/src/test/resources/web/upload1.zip
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/coser-business/src/test/resources/web/upload2.zip
===================================================================
(Binary files differ)
Property changes on: trunk/coser-business/src/test/resources/web/upload2.zip
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
1
0
r466 - trunk/coser-business/src/main/java/fr/ifremer/coser/services
by chatellier@users.labs.libre-entreprise.org 05 Jan '11
by chatellier@users.labs.libre-entreprise.org 05 Jan '11
05 Jan '11
Author: chatellier
Date: 2011-01-05 15:05:00 +0000 (Wed, 05 Jan 2011)
New Revision: 466
Log:
Ajout des nom des auteurs dans les nom des especes
Modified:
trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java
Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java
===================================================================
--- trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java 2011-01-05 14:54:03 UTC (rev 465)
+++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java 2011-01-05 15:05:00 UTC (rev 466)
@@ -165,7 +165,8 @@
// "C_Perm","NumSys","NivSys","C_VALIDE","L_VALIDE","AA_VALIDE","C_TxP\u00E8re","Taxa"
String speciesCode = tuple[3];
- String speciesName = tuple[4];
+ // nom + auteur (sans ajout de parenthese : important)
+ String speciesName = tuple[4] + " " + tuple[5];
speciesNames.put(speciesCode, speciesName);
}
1
0
r465 - in trunk/coser-business/src: main/java/fr/ifremer/coser/storage test/java/fr/ifremer/coser test/java/fr/ifremer/coser/storage
by chatellier@users.labs.libre-entreprise.org 05 Jan '11
by chatellier@users.labs.libre-entreprise.org 05 Jan '11
05 Jan '11
Author: chatellier
Date: 2011-01-05 14:54:03 +0000 (Wed, 05 Jan 2011)
New Revision: 465
Log:
Fix un petit bug sur le parsing memoire csv. Ajout d'un test.
Added:
trunk/coser-business/src/test/java/fr/ifremer/coser/storage/
trunk/coser-business/src/test/java/fr/ifremer/coser/storage/MemoryDataStorageTest.java
Modified:
trunk/coser-business/src/main/java/fr/ifremer/coser/storage/MemoryDataStorage.java
Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/storage/MemoryDataStorage.java
===================================================================
--- trunk/coser-business/src/main/java/fr/ifremer/coser/storage/MemoryDataStorage.java 2011-01-05 14:19:47 UTC (rev 464)
+++ trunk/coser-business/src/main/java/fr/ifremer/coser/storage/MemoryDataStorage.java 2011-01-05 14:54:03 UTC (rev 465)
@@ -25,10 +25,16 @@
package fr.ifremer.coser.storage;
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import au.com.bytecode.opencsv.CSVReader;
+import au.com.bytecode.opencsv.CSVWriter;
+
/**
* Stockage mémoire des String[] sous forme de String simple.
*
@@ -181,10 +187,10 @@
protected String[] stringToArray(String data) {
return parseLine(data);
}
-
+
protected static final char separator = ',';
protected static final char quotechar = '\"';
- protected static final char escapechar = '\"';
+ protected static final char escapechar = '\\';
// Copied from CSVWriter and improved
protected String writeNext(String[] nextLine) {
Added: trunk/coser-business/src/test/java/fr/ifremer/coser/storage/MemoryDataStorageTest.java
===================================================================
--- trunk/coser-business/src/test/java/fr/ifremer/coser/storage/MemoryDataStorageTest.java (rev 0)
+++ trunk/coser-business/src/test/java/fr/ifremer/coser/storage/MemoryDataStorageTest.java 2011-01-05 14:54:03 UTC (rev 465)
@@ -0,0 +1,58 @@
+/*
+ * #%L
+ *
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Codelutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser 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 Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.coser.storage;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import fr.ifremer.coser.services.CoserTestAbstract;
+
+/**
+ * Test for MemoryDataStorage class.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class MemoryDataStorageTest extends CoserTestAbstract {
+
+ /**
+ * Test que les format speciaux ne pose pas de problème.
+ */
+ @Test
+ public void testCSVParsing() {
+ MemoryDataStorage storage = new MemoryDataStorage();
+ storage.add(new String[]{"11", "te\"st", "test, test"});
+
+ String[] data = storage.get(0);
+ Assert.assertEquals(3, data.length);
+ Assert.assertEquals("11", data[0]);
+ Assert.assertEquals("te\"st", data[1]);
+ Assert.assertEquals("test, test", data[2]);
+ }
+}
Property changes on: trunk/coser-business/src/test/java/fr/ifremer/coser/storage/MemoryDataStorageTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
1
0
r464 - in trunk/coser-web/src/main: java/fr/ifremer/coser/web java/fr/ifremer/coser/web/actions java/fr/ifremer/coser/web/actions/pop resources resources/fr/ifremer/coser/web resources/ftl webapp/WEB-INF/content webapp/WEB-INF/content/pop webapp/WEB-INF/decorators
by chatellier@users.labs.libre-entreprise.org 05 Jan '11
by chatellier@users.labs.libre-entreprise.org 05 Jan '11
05 Jan '11
Author: chatellier
Date: 2011-01-05 14:19:47 +0000 (Wed, 05 Jan 2011)
New Revision: 464
Log:
Refactoring navigation pop/com
Added:
trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/QualityAction.java
trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/com/
trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/
trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/GraphAction.java
trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/IndicatorAction.java
trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/SpeciesAction.java
trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/ZoneAction.java
trunk/coser-web/src/main/java/fr/ifremer/coser/web/pop/
trunk/coser-web/src/main/resources/ftl/
trunk/coser-web/src/main/resources/ftl/decharge.ftl
trunk/coser-web/src/main/webapp/WEB-INF/content/pop/
trunk/coser-web/src/main/webapp/WEB-INF/content/pop/graph.jsp
trunk/coser-web/src/main/webapp/WEB-INF/content/pop/indicator.jsp
trunk/coser-web/src/main/webapp/WEB-INF/content/pop/species.jsp
trunk/coser-web/src/main/webapp/WEB-INF/content/pop/zone.jsp
trunk/coser-web/src/main/webapp/WEB-INF/content/quality.jsp
Removed:
trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/SelectIndicatorAction.java
trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/SelectSpeciesAction.java
trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/SelectZoneAction.java
trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/ShowGraphAction.java
trunk/coser-web/src/main/webapp/WEB-INF/content/select-indicator.jsp
trunk/coser-web/src/main/webapp/WEB-INF/content/select-species.jsp
trunk/coser-web/src/main/webapp/WEB-INF/content/select-zone.jsp
trunk/coser-web/src/main/webapp/WEB-INF/content/show-graph.jsp
Modified:
trunk/coser-web/src/main/java/fr/ifremer/coser/web/CoserWebConfig.java
trunk/coser-web/src/main/resources/fr/ifremer/coser/web/package.properties
trunk/coser-web/src/main/webapp/WEB-INF/content/index.jsp
trunk/coser-web/src/main/webapp/WEB-INF/content/upload-result-success.jsp
trunk/coser-web/src/main/webapp/WEB-INF/content/upload-result.jsp
trunk/coser-web/src/main/webapp/WEB-INF/decorators/footer.jsp
trunk/coser-web/src/main/webapp/WEB-INF/decorators/header.jsp
trunk/coser-web/src/main/webapp/WEB-INF/decorators/layout.jsp
Modified: trunk/coser-web/src/main/java/fr/ifremer/coser/web/CoserWebConfig.java
===================================================================
--- trunk/coser-web/src/main/java/fr/ifremer/coser/web/CoserWebConfig.java 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/CoserWebConfig.java 2011-01-05 14:19:47 UTC (rev 464)
@@ -47,6 +47,16 @@
}
/**
+ * Get administrator email.
+ *
+ * @return admin email
+ */
+ public String getAdminEmail() {
+ String result = getOption(CoserWebOption.ADMIN_EMAIL.key);
+ return result;
+ }
+
+ /**
* Get admin password.
*
* @return admin password
@@ -69,9 +79,8 @@
public enum CoserWebOption {
CONFIG_FILE(CONFIG_FILE_NAME, _("coser.config.config.file.description"), "coserweb.properties"),
-
+ ADMIN_EMAIL("coser.admin.email", _("coser.config.config.file.description"), "harmonie at ifremer.fr"),
ADMIN_PASSWORD("coser.admin.password", _("coser.config.admin.password.description"), null),
-
EASTWOOD_URL("coser.eastwood.url", _("coser.config.eastwood.url.description"), "http://www.ifremer.fr/eastwood");
protected String key;
Added: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/QualityAction.java
===================================================================
--- trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/QualityAction.java (rev 0)
+++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/QualityAction.java 2011-01-05 14:19:47 UTC (rev 464)
@@ -0,0 +1,54 @@
+/*
+ * #%L
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package fr.ifremer.coser.web.actions;
+
+import com.opensymphony.xwork2.ActionSupport;
+
+import fr.ifremer.coser.web.CoserWebConfig;
+import fr.ifremer.coser.web.ServiceFactory;
+
+/**
+ * Quality action.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class QualityAction extends ActionSupport {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 1663244944108703571L;
+
+ /**
+ * Recupere l'email dans la configuration.
+ *
+ * @return admin email
+ */
+ public String getAdminEmail() {
+ CoserWebConfig config = ServiceFactory.getCoserConfig();
+ String email = config.getAdminEmail();
+ return email;
+ }
+}
Property changes on: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/QualityAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Deleted: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/SelectIndicatorAction.java
===================================================================
--- trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/SelectIndicatorAction.java 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/SelectIndicatorAction.java 2011-01-05 14:19:47 UTC (rev 464)
@@ -1,96 +0,0 @@
-/*
- * #%L
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-
-package fr.ifremer.coser.web.actions;
-
-import java.util.Map;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import com.opensymphony.xwork2.ActionSupport;
-
-import fr.ifremer.coser.CoserBusinessException;
-import fr.ifremer.coser.services.WebService;
-import fr.ifremer.coser.web.CoserWebException;
-import fr.ifremer.coser.web.ServiceFactory;
-
-/**
- * Action index, recupere la liste des resultats.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class SelectIndicatorAction extends ActionSupport {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = 1663244944108703571L;
-
- private static final Log log = LogFactory.getLog(SelectIndicatorAction.class);
-
- protected String zone;
-
- protected String species;
-
- protected Map<String, String> indicators;
-
- public String getZone() {
- return zone;
- }
-
- public void setZone(String zone) {
- this.zone = zone;
- }
-
- public String getSpecies() {
- return species;
- }
-
- public void setSpecies(String species) {
- this.species = species;
- }
-
- public Map<String, String> getIndicators() {
- return indicators;
- }
-
- @Override
- public String execute() {
-
- if (log.isInfoEnabled()) {
- log.info(String.format("Looking for indicator for zone %s and species %s", zone, species));
- }
-
- WebService webService = ServiceFactory.getWebService();
-
- try {
- indicators = webService.getIndicators(zone, species);
- } catch (CoserBusinessException ex) {
- throw new CoserWebException("Can't get indicators", ex);
- }
-
- return SUCCESS;
- }
-}
Deleted: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/SelectSpeciesAction.java
===================================================================
--- trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/SelectSpeciesAction.java 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/SelectSpeciesAction.java 2011-01-05 14:19:47 UTC (rev 464)
@@ -1,90 +0,0 @@
-/*
- * #%L
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-
-package fr.ifremer.coser.web.actions;
-
-import java.util.Map;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import com.opensymphony.xwork2.ActionSupport;
-
-import fr.ifremer.coser.CoserBusinessException;
-import fr.ifremer.coser.services.WebService;
-import fr.ifremer.coser.web.CoserWebException;
-import fr.ifremer.coser.web.ServiceFactory;
-
-/**
- * Action index, recupere la liste des resultats.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class SelectSpeciesAction extends ActionSupport {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = 1663244944108703571L;
-
- private static final Log log = LogFactory.getLog(SelectSpeciesAction.class);
-
- protected String zone;
-
- protected Map<String, String> species;
-
- public String getZone() {
- return zone;
- }
-
- public void setZone(String zone) {
- this.zone = zone;
- }
-
- public Map<String, String> getSpecies() {
- return species;
- }
-
- @Override
- public String execute() {
-
- if (log.isInfoEnabled()) {
- log.info("Looking for species for zone " + zone);
- }
-
- WebService webService = ServiceFactory.getWebService();
-
- try {
- species = webService.getSpecies(zone);
-
- if (log.isDebugEnabled()) {
- log.debug("Species are : " + species);
- }
- } catch (CoserBusinessException e) {
- throw new CoserWebException("Can't get zone species");
- }
-
- return SUCCESS;
- }
-}
Deleted: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/SelectZoneAction.java
===================================================================
--- trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/SelectZoneAction.java 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/SelectZoneAction.java 2011-01-05 14:19:47 UTC (rev 464)
@@ -1,46 +0,0 @@
-/*
- * #%L
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-
-package fr.ifremer.coser.web.actions;
-
-import com.opensymphony.xwork2.ActionSupport;
-
-/**
- * Action index, affiche une liste fixe de 10 zones.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class SelectZoneAction extends ActionSupport {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = 3385467755357775199L;
-
- @Override
- public String execute() {
-
- return SUCCESS;
- }
-}
Deleted: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/ShowGraphAction.java
===================================================================
--- trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/ShowGraphAction.java 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/ShowGraphAction.java 2011-01-05 14:19:47 UTC (rev 464)
@@ -1,127 +0,0 @@
-/*
- * #%L
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-
-package fr.ifremer.coser.web.actions;
-
-import com.opensymphony.xwork2.ActionSupport;
-
-import fr.ifremer.coser.web.CoserWebConfig;
-import fr.ifremer.coser.web.ServiceFactory;
-
-/**
- * Affiche le graphique demandé.
- *
- * Parametre : zone, species, indicator.
- *
- * Based on eastwoood, same doc as google chart api :
- * http://code.google.com/apis/chart/docs/making_charts.html
- *
- * chart?cht=<chart_type>&chd=<chart_data>&chs=<chart_size>&...additional_parameters...
- *
- * Dans ce cas, on va faire un graphe avec des points pour les valeurs
- * et des traits (en dessous/au dessus) pour les ecarts types.
- * chd=t:
- * 12,16,16,24,26,28,41,51,66,68,13,45,81|
- * 16,14,22,34,22,31,31,48,71,64,15,38,84|
- * 8,6,4,5,2,13,9,8,7,6,1,8,8
- * chm=
- * o,0000FF,0,-1,0|
- * h,FF0000,0,0:9:,5|
- * h,FF0000,0,0:9:,5
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class ShowGraphAction extends ActionSupport {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = 3385467755357775199L;
-
- protected String zone;
-
- protected String species;
-
- protected String indicator;
-
- protected String chartUrl;
-
- public String getZone() {
- return zone;
- }
-
- public void setZone(String zone) {
- this.zone = zone;
- }
-
- public String getSpecies() {
- return species;
- }
-
- public void setSpecies(String species) {
- this.species = species;
- }
-
- public String getIndicator() {
- return indicator;
- }
-
- public void setIndicator(String indicator) {
- this.indicator = indicator;
- }
-
- public String getChartUrl() {
- return chartUrl;
- }
-
-
- @Override
- public String execute() {
-
- CoserWebConfig config = ServiceFactory.getCoserConfig();
-
- chartUrl = config.getEastWoodUrl() + "/chart?";
-
- // chart type
- chartUrl += "&cht=lxy";
- // data
- chartUrl += "&chd=t:10,20,40,80,90,95,99|20,30,40,50,60,70,80";
- // legend
- chartUrl += "&chdl=Species";
- // legend position
- chartUrl += "&chdlp=b";
- // markers (plot)
- chartUrl += "&chm=o,FF0000,0,-1,5";
- // display x y axis
- chartUrl += "&chxt=x,y";
- // taille
- chartUrl += "&chs=600x300";
- // taille de la courbe
- chartUrl += "&chls=2";
- // titre du graphique
- chartUrl += "&chtt=" + zone + ";" + species + ";" + indicator;
-
- return SUCCESS;
- }
-}
Added: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/GraphAction.java
===================================================================
--- trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/GraphAction.java (rev 0)
+++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/GraphAction.java 2011-01-05 14:19:47 UTC (rev 464)
@@ -0,0 +1,127 @@
+/*
+ * #%L
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package fr.ifremer.coser.web.actions.pop;
+
+import com.opensymphony.xwork2.ActionSupport;
+
+import fr.ifremer.coser.web.CoserWebConfig;
+import fr.ifremer.coser.web.ServiceFactory;
+
+/**
+ * Affiche le graphique demandé.
+ *
+ * Parametre : zone, species, indicator.
+ *
+ * Based on eastwoood, same doc as google chart api :
+ * http://code.google.com/apis/chart/docs/making_charts.html
+ *
+ * chart?cht=<chart_type>&chd=<chart_data>&chs=<chart_size>&...additional_parameters...
+ *
+ * Dans ce cas, on va faire un graphe avec des points pour les valeurs
+ * et des traits (en dessous/au dessus) pour les ecarts types.
+ * chd=t:
+ * 12,16,16,24,26,28,41,51,66,68,13,45,81|
+ * 16,14,22,34,22,31,31,48,71,64,15,38,84|
+ * 8,6,4,5,2,13,9,8,7,6,1,8,8
+ * chm=
+ * o,0000FF,0,-1,0|
+ * h,FF0000,0,0:9:,5|
+ * h,FF0000,0,0:9:,5
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class GraphAction extends ActionSupport {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 3385467755357775199L;
+
+ protected String zone;
+
+ protected String species;
+
+ protected String indicator;
+
+ protected String chartUrl;
+
+ public String getZone() {
+ return zone;
+ }
+
+ public void setZone(String zone) {
+ this.zone = zone;
+ }
+
+ public String getSpecies() {
+ return species;
+ }
+
+ public void setSpecies(String species) {
+ this.species = species;
+ }
+
+ public String getIndicator() {
+ return indicator;
+ }
+
+ public void setIndicator(String indicator) {
+ this.indicator = indicator;
+ }
+
+ public String getChartUrl() {
+ return chartUrl;
+ }
+
+
+ @Override
+ public String execute() {
+
+ CoserWebConfig config = ServiceFactory.getCoserConfig();
+
+ chartUrl = config.getEastWoodUrl() + "/chart?";
+
+ // chart type
+ chartUrl += "&cht=lxy";
+ // data
+ chartUrl += "&chd=t:10,20,40,80,90,95,99|20,30,40,50,60,70,80";
+ // legend
+ chartUrl += "&chdl=Species";
+ // legend position
+ chartUrl += "&chdlp=b";
+ // markers (plot)
+ chartUrl += "&chm=o,FF0000,0,-1,5";
+ // display x y axis
+ chartUrl += "&chxt=x,y";
+ // taille
+ chartUrl += "&chs=600x300";
+ // taille de la courbe
+ chartUrl += "&chls=2";
+ // titre du graphique
+ chartUrl += "&chtt=" + zone + ";" + species + ";" + indicator;
+
+ return SUCCESS;
+ }
+}
Property changes on: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/GraphAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/IndicatorAction.java
===================================================================
--- trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/IndicatorAction.java (rev 0)
+++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/IndicatorAction.java 2011-01-05 14:19:47 UTC (rev 464)
@@ -0,0 +1,96 @@
+/*
+ * #%L
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package fr.ifremer.coser.web.actions.pop;
+
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import com.opensymphony.xwork2.ActionSupport;
+
+import fr.ifremer.coser.CoserBusinessException;
+import fr.ifremer.coser.services.WebService;
+import fr.ifremer.coser.web.CoserWebException;
+import fr.ifremer.coser.web.ServiceFactory;
+
+/**
+ * Action index, recupere la liste des resultats.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class IndicatorAction extends ActionSupport {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 1663244944108703571L;
+
+ private static final Log log = LogFactory.getLog(IndicatorAction.class);
+
+ protected String zone;
+
+ protected String species;
+
+ protected Map<String, String> indicators;
+
+ public String getZone() {
+ return zone;
+ }
+
+ public void setZone(String zone) {
+ this.zone = zone;
+ }
+
+ public String getSpecies() {
+ return species;
+ }
+
+ public void setSpecies(String species) {
+ this.species = species;
+ }
+
+ public Map<String, String> getIndicators() {
+ return indicators;
+ }
+
+ @Override
+ public String execute() {
+
+ if (log.isInfoEnabled()) {
+ log.info(String.format("Looking for indicator for zone %s and species %s", zone, species));
+ }
+
+ WebService webService = ServiceFactory.getWebService();
+
+ try {
+ indicators = webService.getIndicators(zone, species);
+ } catch (CoserBusinessException ex) {
+ throw new CoserWebException("Can't get indicators", ex);
+ }
+
+ return SUCCESS;
+ }
+}
Property changes on: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/IndicatorAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/SpeciesAction.java
===================================================================
--- trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/SpeciesAction.java (rev 0)
+++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/SpeciesAction.java 2011-01-05 14:19:47 UTC (rev 464)
@@ -0,0 +1,90 @@
+/*
+ * #%L
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package fr.ifremer.coser.web.actions.pop;
+
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import com.opensymphony.xwork2.ActionSupport;
+
+import fr.ifremer.coser.CoserBusinessException;
+import fr.ifremer.coser.services.WebService;
+import fr.ifremer.coser.web.CoserWebException;
+import fr.ifremer.coser.web.ServiceFactory;
+
+/**
+ * Action index, recupere la liste des resultats.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SpeciesAction extends ActionSupport {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 1663244944108703571L;
+
+ private static final Log log = LogFactory.getLog(SpeciesAction.class);
+
+ protected String zone;
+
+ protected Map<String, String> species;
+
+ public String getZone() {
+ return zone;
+ }
+
+ public void setZone(String zone) {
+ this.zone = zone;
+ }
+
+ public Map<String, String> getSpecies() {
+ return species;
+ }
+
+ @Override
+ public String execute() {
+
+ if (log.isInfoEnabled()) {
+ log.info("Looking for species for zone " + zone);
+ }
+
+ WebService webService = ServiceFactory.getWebService();
+
+ try {
+ species = webService.getSpecies(zone);
+
+ if (log.isDebugEnabled()) {
+ log.debug("Species are : " + species);
+ }
+ } catch (CoserBusinessException ex) {
+ throw new CoserWebException("Can't get zone species", ex);
+ }
+
+ return SUCCESS;
+ }
+}
Property changes on: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/SpeciesAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/ZoneAction.java
===================================================================
--- trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/ZoneAction.java (rev 0)
+++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/ZoneAction.java 2011-01-05 14:19:47 UTC (rev 464)
@@ -0,0 +1,70 @@
+/*
+ * #%L
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package fr.ifremer.coser.web.actions.pop;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import com.opensymphony.xwork2.ActionSupport;
+
+/**
+ * Action index, affiche une liste fixe de 10 zones.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class ZoneAction extends ActionSupport {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 3385467755357775199L;
+
+ protected Map<String, String> zones;
+
+ public Map<String, String> getZones() {
+ return zones;
+ }
+
+ @Override
+ public String execute() {
+
+ zones = new HashMap<String, String>();
+ zones.put("manchecgfs", "Plateau - Manche CGFS");
+ zones.put("celtiqueevhoe", "Plateau - Celtique EVHOE");
+ zones.put("gascogneevhoe", "Plateau - Gascogne EVHOE");
+ zones.put("gascogneressgasc01", "Plateau - Gascogne RESSGASC_01");
+ zones.put("gascogneressgasc02", "Plateau - Gascogne RESSGASC_02");
+ zones.put("gascogneressgasc03", "Plateau - Gascogne RESSGASC_03");
+ zones.put("gascogneressgasc04", "Plateau - Gascogne RESSGASC_04");
+ zones.put("lionmedtis", "Plateau - Lion MEDITS");
+ zones.put("estcorsemedits", "Plateau - Est-Corse MEDITS");
+ zones.put("sommenoursom", "Baie - Somme NOURSOM");
+ zones.put("seinenoursei", "Baie - Seine NOURSEI");
+ zones.put("vilainenourvil", "Baie - Vilaine NOURVIL");
+ zones.put("crustaflamjuin", "Cap - Flamanville CRUSTAFLAM Juin");
+
+ return SUCCESS;
+ }
+}
Property changes on: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/pop/ZoneAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/coser-web/src/main/resources/fr/ifremer/coser/web/package.properties
===================================================================
--- trunk/coser-web/src/main/resources/fr/ifremer/coser/web/package.properties 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/resources/fr/ifremer/coser/web/package.properties 2011-01-05 14:19:47 UTC (rev 464)
@@ -39,3 +39,9 @@
message.index.quotemessage=Ifremer {0,date,yyyy}. Indices de populations et de communautés issus des campagnes de surveillance halieutique de l''Ifremer. {1} ({0,date,dd MMMM})
message.index.qualitytitle=Avertissement qualit\u00E9
message.index.qualitymessage=Avertissement qualit\u00E9
+message.quality.title=Avertissement qualit\u00E9
+message.quality.paragraph1=Bien que les donn\u00E9es aient \u00E9t\u00E9 pr\u00E9cautionneusement contr\u00F4l\u00E9es par l''Ifremer, des d\u00E9fauts inh\u00E9rents \u00E0 l''agr\u00E9gation des informations peuvent persister. Par exemple\u00A0:
+message.quality.paragraph2=En d\u00E9pit du fait que toutes les donn\u00E9es de toutes les s\u00E9ries de campagnes soient pr\u00E9sent\u00E9es selon le m\u00EAme format, sauf cas particuliers des diff\u00E9rences dans les strat\u00E9gies d''observation emp\u00EAchent la combinaison de donn\u00E9es de diff\u00E9rentes campagnes dans une m\u00EAme analyse. Par exemple, la capturabilit\u00E9 d\'une m\u00EAme esp\u00E8ce varie selon le type d''engin d''\u00E9chantillonnage utilis\u00E9. Il en r\u00E9sulte que chaque engin capture un sous-ensemble particulier des bioc\u00E9noses \u00E9chantillonn\u00E9es.
+message.quality.paragraph3=Une propri\u00E9t\u00E9 commune aux s\u00E9ries d''observations \u00E0 la mer est l''\u00E9volution dans le temps de la comp\u00E9tence des \u00E9quipes embarqu\u00E9es pour la d\u00E9termination des esp\u00E8ces. Il peut en r\u00E9sulter des apparitions, des disparitions ou des assignations sous un m\u00EAme nom de taxons proches dans les jeux de donn\u00E9es, non repr\u00E9sentatifs de l''\u00E9volution des populations concern\u00E9es dans l''\u00E9cosyst\u00E8me.
+message.quality.paragraph4=Pour les campagnes d\'une m\u00EAme s\u00E9rie, des changements dans les proc\u00E9dures d''\u00E9chantillonnage, dans les caract\u00E9ristiques des engins, dans la p\u00E9riode de r\u00E9alisation de la campagne et la zone couverte peuvent influencer les captures. Pour pr\u00E9venir les risques de biais dans les analyses en raison de ces facteurs, les jeux de donn\u00E9es doivent \u00EAtre pr\u00E9alablement filtr\u00E9s ad\u00E9quatement.
+message.quality.paragraph5=Il est vivement recommand\u00E9 aux utilisateurs de donn\u00E9es de les traiter avec pr\u00E9caution. Si des utilisateurs s''interrogent sur la validit\u00E9 de donn\u00E9es, ils sont invit\u00E9s \u00E0 contacter l''administrateur de la base de donn\u00E9es ({0}).
Added: trunk/coser-web/src/main/resources/ftl/decharge.ftl
===================================================================
--- trunk/coser-web/src/main/resources/ftl/decharge.ftl (rev 0)
+++ trunk/coser-web/src/main/resources/ftl/decharge.ftl 2011-01-05 14:19:47 UTC (rev 464)
@@ -0,0 +1,79 @@
+Réaction
+========
+Merci d'avoir téléchargé des données de ce site. Si vous avez identifié des
+problèmes dans ces données, ou souhaitez fournir des remarques pour aider à
+améliorer le service, vous êtes invités à adresser un courriel à
+l'administrateur du site (harmonie at ifremer.fr).
+
+Important
+=========
+Les données téléchargées sont issues de la série CGFS.
+
+Vous êtes invités à consulter les informations relatives à cette série de
+campagnes... Ce site comprend des informations spécifiques concernant l'usage de
+ces données, les limitations et les problèmes connus.
+
+Vous vous engagez à citer la source de ces données dans tout produit et
+publication utilisant ces données. En téléchargeant des données à partir du
+site http://www.ifremer.fr/SIH-indices-campagnes/, vous acceptez les termes et
+conditions d'usage décrites dans ce document et dans tout document cité dans ce
+texte.
+
+Contact
+=======
+Pour toute question concernant les données téléchargées du site
+http://www.ifremer.fr/SIH-indices-campagnes/, vous pouvez adresser un courriel à
+l'administrateur du site (harmonie at ifremer.fr).
+
+Informations particulières sur les données téléchargées
+=======================================================
+Les données des campagnes halieutiques de ce site sont mises à libre disposition
+pour téléchargement. En dépit des soins mis à la préparation de ces données, des
+défauts inhérents à l'agrégation des informations peuvent persister.
+Par exemple :
+
+* En dépit du fait que toutes les données de toutes les séries de campagnes
+ soient présentées selon le même format, sauf cas particuliers des différences
+ dans les stratégies d'observation empêchent la combinaison de données de
+ différentes campagnes dans une même analyse. Par exemple, la capturabilité
+ d'une même espèce varie selon le type d'engin d'échantillonnage utilisé.
+ Il en résulte que chaque engin capture un sous-ensemble particulier des
+ biocénoses échantillonnées.
+
+* Une propriété commune aux séries d'observations à la mer est l'évolution dans
+ le temps de la compétence des équipes embarquées pour la détermination des
+ espèces. Il peut en résulter des apparitions, des disparitions ou des
+ assignations sous un même nom de taxons proches dans les jeux de données, non
+ représentatifs de l'évolution des populations concernées dans l'écosystème.
+
+* Pour les campagnes d'une même série, des changements dans les procédures
+d'échantillonnage, dans les caractéristiques des engins, dans la période de
+réalisation de la campagne et la zone couverte peuvent influencer les captures.
+Pour prévenir les risques de biais dans les analyses en raison de ces facteurs,
+les jeux de données doivent être préalablement filtrés adéquatement.
+
+Il est vivement recommandé aux utilisateurs de données de les traiter avec
+précaution. Si des utilisateurs s'interrogent sur la validité de données, ils
+sont invités à contacter l'administrateur de la base de données
+(harmonie at ifremer.fr).
+
+Citation de l'origine des données
+=================================
+Ifremer ANNEE. Données des campagnes de surveillance halieutique de l’Ifremer.
+http://www.ifremer.fr/SIH-indices-campagnes/ (JOUR MOIS).
+
+Conditions d'usage des données
+==============================
+L'Ifremer met les données des campagnes de surveillance halieutique conduites
+par l'institut en libre accès, mais :
+- l'interprétation et l'usage approprié de ces données sont de la seule
+ responsabilité de leurs utilisateurs,
+- les utilisateurs des données ne doivent d'aucune façon impliquer l'Ifremer en
+ tant que fournisseur de données dans leurs résultats, conclusions et/ou
+ recommandations.
+- la source des données doit être dûment citée,
+- les utilisateurs de données doivent respecter toutes les restrictions
+ d'usage et de reproduction des données, incluant les restrictions pour un
+ usage commercial,
+- les utilisateurs des données doivent informer l'Ifremer de tout problème
+ soupçonné dans les données.
Modified: trunk/coser-web/src/main/webapp/WEB-INF/content/index.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/content/index.jsp 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/webapp/WEB-INF/content/index.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -24,7 +24,7 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<%@taglib uri="/struts-tags" prefix="s" %>
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
+<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><s:text name="message.index.title" /></title>
</head>
@@ -41,10 +41,10 @@
<p>
<span style="font-weight:bold"><s:text name="message.index.datatypetitle" /> :</span><br />
<ul>
- <li><s:a action="select-zone"><s:text name="message.index.datatype1" /></s:a></li>
- <li><s:a action="select-zone"><s:text name="message.index.datatype2" /></s:a></li>
- <li><s:a action="select-zone"><s:text name="message.index.datatype3" /></s:a></li>
- <li><s:a action="select-zone"><s:text name="message.index.datatype4" /></s:a></li>
+ <li><s:a action="zone"><s:text name="message.index.datatype1" /></s:a></li>
+ <li><s:a action="map/zone"><s:text name="message.index.datatype2" /></s:a></li>
+ <li><s:a action="pop/zone"><s:text name="message.index.datatype3" /></s:a></li>
+ <li><s:a action="com/zone"><s:text name="message.index.datatype4" /></s:a></li>
</ul>
</p>
Added: trunk/coser-web/src/main/webapp/WEB-INF/content/pop/graph.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/content/pop/graph.jsp (rev 0)
+++ trunk/coser-web/src/main/webapp/WEB-INF/content/pop/graph.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -0,0 +1,37 @@
+<!--
+ #%L
+ Coser :: Web
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero 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 Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ -->
+<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<%@taglib uri="/struts-tags" prefix="s" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Coser</title>
+ </head>
+ <body>
+
+ <img src="<s:property value="chartUrl"/>" />
+
+ </body>
+</html>
\ No newline at end of file
Added: trunk/coser-web/src/main/webapp/WEB-INF/content/pop/indicator.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/content/pop/indicator.jsp (rev 0)
+++ trunk/coser-web/src/main/webapp/WEB-INF/content/pop/indicator.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -0,0 +1,44 @@
+<!--
+ #%L
+ Coser :: Web
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero 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 Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ -->
+<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<%@taglib uri="/struts-tags" prefix="s" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Coser</title>
+ </head>
+ <body>
+ <img src="<s:url value='/images/zonesmap.jpg' />" />
+
+ <br />
+
+ <s:form action="graph" method="get">
+ <s:select name="indicator" list="indicators" label="Select an indicator" />
+ <s:hidden name="zone" property="zone"/>
+ <s:hidden name="species" property="species"/>
+ <s:submit label="Suite"/>
+ </s:form>
+ </body>
+</html>
\ No newline at end of file
Added: trunk/coser-web/src/main/webapp/WEB-INF/content/pop/species.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/content/pop/species.jsp (rev 0)
+++ trunk/coser-web/src/main/webapp/WEB-INF/content/pop/species.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -0,0 +1,44 @@
+<!--
+ #%L
+ Coser :: Web
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero 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 Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ -->
+<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<%@taglib uri="/struts-tags" prefix="s" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Coser</title>
+ </head>
+ <body>
+
+ <img src="<s:url value='/images/zonesmap.jpg' />" />
+
+ <br />
+
+ <s:form action="indicator" method="get">
+ <s:select name="species" list="species" label="Select a species" />
+ <s:hidden name="zone" property="zone"/>
+ <s:submit label="Suite"/>
+ </s:form>
+ </body>
+</html>
\ No newline at end of file
Added: trunk/coser-web/src/main/webapp/WEB-INF/content/pop/zone.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/content/pop/zone.jsp (rev 0)
+++ trunk/coser-web/src/main/webapp/WEB-INF/content/pop/zone.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -0,0 +1,42 @@
+<!--
+ #%L
+ Coser :: Web
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero 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 Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ -->
+<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<%@taglib uri="/struts-tags" prefix="s" %>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Coser</title>
+ </head>
+ <body>
+
+ <img src="<s:url value='/images/zonesmap.jpg' />" />
+
+ <br />
+
+ <s:form action="species" method="get">
+ <s:select name="zone" list="zones" label="Select a zone" />
+ <s:submit label="Suite"/>
+ </s:form>
+ </body>
+</html>
\ No newline at end of file
Added: trunk/coser-web/src/main/webapp/WEB-INF/content/quality.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/content/quality.jsp (rev 0)
+++ trunk/coser-web/src/main/webapp/WEB-INF/content/quality.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -0,0 +1,49 @@
+<!--
+ #%L
+ Coser :: Web
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero 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 Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ -->
+<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<%@taglib uri="/struts-tags" prefix="s" %>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title><s:text name="message.quality.title" /></title>
+ </head>
+ <body>
+
+ <div class="maintitle">
+ <s:text name="message.quality.title" />
+ </div>
+
+ <p><s:text name="message.quality.paragraph1" /></p>
+ <ul>
+ <li><s:text name="message.quality.paragraph2" /></li>
+ <li><s:text name="message.quality.paragraph3" /></li>
+ <li><s:text name="message.quality.paragraph4" /></li>
+ </ul>
+ <p>
+ <s:text name="message.quality.paragraph5">
+ <s:param value="adminEmail"/>
+ </s:text>
+ </p>
+ </body>
+</html>
\ No newline at end of file
Deleted: trunk/coser-web/src/main/webapp/WEB-INF/content/select-indicator.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/content/select-indicator.jsp 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/webapp/WEB-INF/content/select-indicator.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -1,44 +0,0 @@
-<!--
- #%L
- Coser :: Web
-
- $Id$
- $HeadURL$
- %%
- Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
- %%
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero 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 Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- #L%
- -->
-<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<%@taglib uri="/struts-tags" prefix="s" %>
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
- <head>
- <title>Coser</title>
- </head>
- <body>
- <img src="images/zonesmap.jpg" />
-
- <br />
-
- <s:form action="show-graph" method="get">
- <s:select name="indicator" list="indicators" label="Select an indicator" />
- <s:hidden name="zone" property="zone"/>
- <s:hidden name="species" property="species"/>
- <s:submit label="Suite"/>
- </s:form>
- </body>
-</html>
\ No newline at end of file
Deleted: trunk/coser-web/src/main/webapp/WEB-INF/content/select-species.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/content/select-species.jsp 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/webapp/WEB-INF/content/select-species.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -1,44 +0,0 @@
-<!--
- #%L
- Coser :: Web
-
- $Id$
- $HeadURL$
- %%
- Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
- %%
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero 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 Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- #L%
- -->
-<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<%@taglib uri="/struts-tags" prefix="s" %>
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
- <head>
- <title>Coser</title>
- </head>
- <body>
-
- <img src="images/zonesmap.jpg" />
-
- <br />
-
- <s:form action="select-indicator" method="get">
- <s:select name="species" list="species" label="Select a species" />
- <s:hidden name="zone" property="zone"/>
- <s:submit label="Suite"/>
- </s:form>
- </body>
-</html>
\ No newline at end of file
Deleted: trunk/coser-web/src/main/webapp/WEB-INF/content/select-zone.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/content/select-zone.jsp 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/webapp/WEB-INF/content/select-zone.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -1,57 +0,0 @@
-<!--
- #%L
- Coser :: Web
-
- $Id$
- $HeadURL$
- %%
- Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
- %%
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero 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 Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- #L%
- -->
-<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<%@taglib uri="/struts-tags" prefix="s" %>
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
- <head>
- <title>Coser</title>
- </head>
- <body>
-
- <img src="images/zonesmap.jpg" />
-
- <br />
-
- <s:form action="select-species" method="get">
- <select name="zone">
- <option value="manchecgfs">Plateau - Manche CGFS</option>
- <option value="celtiqueevhoe">Plateau - Celtique EVHOE</option>
- <option value="gascogneevhoe">Plateau - Gascogne EVHOE</option>
- <option value="gascogneressgasc01">Plateau - Gascogne RESSGASC_01</option>
- <option value="gascogneressgasc02">Plateau - Gascogne RESSGASC_02</option>
- <option value="gascogneressgasc03">Plateau - Gascogne RESSGASC_03</option>
- <option value="gascogneressgasc04">Plateau - Gascogne RESSGASC_04</option>
- <option value="lionmedtis">Plateau - Lion MEDITS</option>
- <option value="estcorsemedits">Plateau - Est-Corse MEDITS</option>
- <option value="sommenoursom">Baie - Somme NOURSOM</option>
- <option value="seinenoursei">Baie - Seine NOURSEI</option>
- <option value="vilainenourvil">Baie - Vilaine NOURVIL</option>
- <option value="crustaflamjuin">Cap - Flamanville CRUSTAFLAM Juin</option>
- <option value="crustaflamsept">Cap - Flamanville CRUSTAFLAM Septembre</option>
- </select>
- <s:submit label="Suite"/>
- </s:form>
- </body>
-</html>
\ No newline at end of file
Deleted: trunk/coser-web/src/main/webapp/WEB-INF/content/show-graph.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/content/show-graph.jsp 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/webapp/WEB-INF/content/show-graph.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -1,37 +0,0 @@
-<!--
- #%L
- Coser :: Web
-
- $Id$
- $HeadURL$
- %%
- Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
- %%
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero 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 Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- #L%
- -->
-<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<%@taglib uri="/struts-tags" prefix="s" %>
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
- <head>
- <title>Coser</title>
- </head>
- <body>
-
- <img src="<s:property value="chartUrl"/>" />
-
- </body>
-</html>
\ No newline at end of file
Modified: trunk/coser-web/src/main/webapp/WEB-INF/content/upload-result-success.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/content/upload-result-success.jsp 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/webapp/WEB-INF/content/upload-result-success.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
+ Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
@@ -24,7 +24,7 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<%@taglib uri="/struts-tags" prefix="s" %>
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
+<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Hello World</title>
</head>
Modified: trunk/coser-web/src/main/webapp/WEB-INF/content/upload-result.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/content/upload-result.jsp 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/webapp/WEB-INF/content/upload-result.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
+ Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
@@ -24,7 +24,7 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<%@taglib uri="/struts-tags" prefix="s" %>
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
+<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Hello World</title>
</head>
Modified: trunk/coser-web/src/main/webapp/WEB-INF/decorators/footer.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/decorators/footer.jsp 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/webapp/WEB-INF/decorators/footer.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
+ Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Modified: trunk/coser-web/src/main/webapp/WEB-INF/decorators/header.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/decorators/header.jsp 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/webapp/WEB-INF/decorators/header.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric
+ Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
@@ -25,8 +25,8 @@
<%@taglib uri="/struts-tags" prefix="s" %>
<div>
- <img src="images/logo_ifremer.gif" style="width:333px;heigth:69px" />
- <img src="images/logo_sih.png" style="width:178px;heigth:89px" />
+ <img src="<s:url value='/images/logo_ifremer.gif' />" style="width:333px;heigth:69px" />
+ <img src="<s:url value='/images/logo_sih.png' />" style="width:178px;heigth:89px" />
<s:url id="localeEN" namespace="/" action="locale">
<s:param name="request_locale" >en</s:param>
@@ -35,8 +35,8 @@
<s:param name="request_locale" >fr</s:param>
</s:url>
- <s:a href="%{localeEN}"><img src="images/gb.png" /></s:a>
- <s:a href="%{localeFR}"><img src="images/fr.png" /></s:a>
+ <s:a href="%{localeEN}"><img src="<s:url value='/images/gb.png' />" /></s:a>
+ <s:a href="%{localeFR}"><img src="<s:url value='/images/fr.png' />" /></s:a>
</div>
Modified: trunk/coser-web/src/main/webapp/WEB-INF/decorators/layout.jsp
===================================================================
--- trunk/coser-web/src/main/webapp/WEB-INF/decorators/layout.jsp 2011-01-05 13:11:17 UTC (rev 463)
+++ trunk/coser-web/src/main/webapp/WEB-INF/decorators/layout.jsp 2011-01-05 14:19:47 UTC (rev 464)
@@ -25,11 +25,11 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<%@taglib uri="/struts-tags" prefix="s" %>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
+<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title><decorator:title default="Coser"/></title>
- <link rel="stylesheet" type="text/css" href="styles/coser.css" />
+ <link rel="stylesheet" type="text/css" href="<s:url value='/styles/coser.css' />" />
<decorator:head/>
</head>
<body>
1
0