Author: chatellier Date: 2011-01-07 10:27:40 +0000 (Fri, 07 Jan 2011) New Revision: 485 Log: Modification de la configuration pour la partie web. Le fichier zone est maintenant optionnel. Removed: trunk/coser-web/src/main/java/fr/ifremer/coser/web/CoserWebConstants.java Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/CoserBusinessConfig.java trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/IndexAction.java trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/UploadResultAction.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-07 09:09:33 UTC (rev 484) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/CoserBusinessConfig.java 2011-01-07 10:27:40 UTC (rev 485) @@ -122,23 +122,23 @@ return result; } - public File getWebServerDirectory() { - File result = getOptionAsFile(CoserBusinessOption.WEB_SERVER_DIRECTORY.key); + public File getWebPropertiesFile() { + File result = getOptionAsFile(CoserBusinessOption.WEB_PROPERTIES_FILE.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); + + public File getWebIndicatorsFile() { + File result = getOptionAsFile(CoserBusinessOption.WEB_INDICATORS.key); return result; } - public File getMatchZonesFile() { - File result = getOptionAsFile(CoserBusinessOption.WEB_MATCH_ZONES.key); + public File getWebZonesFile() { + File result = getOptionAsFile(CoserBusinessOption.WEB_ZONES.key); return result; } @@ -164,10 +164,10 @@ WEB_UPLOAD_URL("coser.web.uploadurl", _("coser.config.web.uploadurl.description"), "${" + WEB_FRONT_END.key + "}/upload-result.action", 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_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 + "matchindicators.csv", String.class, false, false), - WEB_MATCH_ZONES("coser.web.matchzones.file", _("coser.config.web.matchzones.file.description"), "${" + WEB_SERVER_DIRECTORY.key + "}" + File.separator + "matchzones.csv", String.class, false, false); + WEB_PROPERTIES_FILE("coser.web.properties.file", _("coser.config.web.properties.file.description"), "${" + DATABASE_DIRECTORY.key + "}" + File.separator + "web.properties", String.class, false, false), + WEB_PROJECTS_DIRECTORY("coser.web.projects.directory", _("coser.config.web.projects.directory.description"), "${" + DATABASE_DIRECTORY.key + "}" + File.separator + "webprojects", String.class, false, false), + WEB_INDICATORS("coser.web.indicators.file", _("coser.config.web.indicators.file.description"), "${" + DATABASE_DIRECTORY.key + "}" + File.separator + "webindicators.csv", String.class, false, false), + WEB_ZONES("coser.web.zones.file", _("coser.config.web.zones.file.description"), "${" + DATABASE_DIRECTORY.key + "}" + File.separator + "webzones.csv", String.class, false, false); protected String key; protected String description; 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-07 09:09:33 UTC (rev 484) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java 2011-01-07 10:27:40 UTC (rev 485) @@ -97,7 +97,7 @@ if (indicatorsMap == null) { indicatorsMap = new MultiKeyMap(); - File indicatorsFile = config.getMatchIndicatorsFile(); + File indicatorsFile = config.getWebIndicatorsFile(); DataStorage indicatorsStorage = importService.loadCSVFile(indicatorsFile); Iterator<String[]> iteratorInd = indicatorsStorage.iterator(true); while (iteratorInd.hasNext()) { @@ -121,15 +121,26 @@ public Map<String, String[]> getZonesMap() throws CoserBusinessException { if (zonesMap == null) { - zonesMap = new HashMap<String, String[]>(); - File zoneFile = config.getMatchZonesFile(); - DataStorage zonesStorage = importService.loadCSVFile(zoneFile); - Iterator<String[]> iteratorZones = zonesStorage.iterator(true); - while (iteratorZones.hasNext()) { - // "id";"zone";"subzone";"periode";"serie";"comment";"map" - String[] zone = iteratorZones.next(); - zonesMap.put(zone[0], new String[]{zone[1], zone[2]}); + File zoneFile = config.getWebZonesFile(); + + // l'operation n'est pas obligatoire pour tous les clients + // lourd, le fichier peut donc ne pas exister + if (zoneFile.isFile()) { + zonesMap = new HashMap<String, String[]>(); + + DataStorage zonesStorage = importService.loadCSVFile(zoneFile); + Iterator<String[]> iteratorZones = zonesStorage.iterator(true); + while (iteratorZones.hasNext()) { + // "id";"zone";"subzone";"periode";"serie";"comment";"map" + String[] zone = iteratorZones.next(); + zonesMap.put(zone[0], new String[]{zone[1], zone[2]}); + } } + else { + // fait volontairement un return new, n'affecte pas l'etat du + // service + return new HashMap<String, String[]>(); + } } return zonesMap; 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-07 09:09:33 UTC (rev 484) +++ trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties 2011-01-07 10:27:40 UTC (rev 485) @@ -104,11 +104,11 @@ 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.indicators.file.description=Indicators 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.properties.file.description=Web informations properties file coser.config.web.uploadurl.description=Coser server upload result url +coser.config.web.zones.file.description=Zones match file depth\ attribute\ is\ not\ a\ valid\ double= haul\ name\ is\ not\ valid= lat\ attribute\ is\ not\ a\ valid\ double= 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-07 09:09:33 UTC (rev 484) +++ trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties 2011-01-07 10:27:40 UTC (rev 485) @@ -104,11 +104,11 @@ 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.indicators.file.description=Fichier de correspondance des indicateurs 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.properties.file.description=Fichier d'enregistrement des informations serveur coser.config.web.uploadurl.description=Adresse d'envoi des r\u00E9sultats +coser.config.web.zones.file.description=Fichier de correspondance des zones 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 lat\ attribute\ is\ not\ a\ valid\ double=L'attribut Lat n'est pas un r\u00E9el valide 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-07 09:09:33 UTC (rev 484) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java 2011-01-07 10:27:40 UTC (rev 485) @@ -182,6 +182,7 @@ 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_ZONES); // category control modelBuilder.addCategory(_("coser.config.category.configuration"), _("coser.config.category.configuration.description")); Deleted: trunk/coser-web/src/main/java/fr/ifremer/coser/web/CoserWebConstants.java =================================================================== --- trunk/coser-web/src/main/java/fr/ifremer/coser/web/CoserWebConstants.java 2011-01-07 09:09:33 UTC (rev 484) +++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/CoserWebConstants.java 2011-01-07 10:27:40 UTC (rev 485) @@ -1,38 +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; - -/** - * Constantes cote web. - * - * @author chatellier - * @version $Revision$ - * - * Last update : $Date$ - * By : $Author$ - */ -public class CoserWebConstants { - - /** Nom du fichier de proprietes du serveur. */ - public static final String WEB_PROPERTIES_NAME = "web.properties"; -} Modified: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/IndexAction.java =================================================================== --- trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/IndexAction.java 2011-01-07 09:09:33 UTC (rev 484) +++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/IndexAction.java 2011-01-07 10:27:40 UTC (rev 485) @@ -37,7 +37,6 @@ import com.opensymphony.xwork2.ActionSupport; import fr.ifremer.coser.web.CoserWebConfig; -import fr.ifremer.coser.web.CoserWebConstants; import fr.ifremer.coser.web.CoserWebException; import fr.ifremer.coser.web.ServiceFactory; @@ -82,7 +81,7 @@ public String execute() { CoserWebConfig config = ServiceFactory.getCoserConfig(); - File webProperties = new File(config.getWebServerDirectory(), CoserWebConstants.WEB_PROPERTIES_NAME); + File webProperties = config.getWebPropertiesFile(); if (webProperties.isFile()) { // get update date Modified: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/UploadResultAction.java =================================================================== --- trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/UploadResultAction.java 2011-01-07 09:09:33 UTC (rev 484) +++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/UploadResultAction.java 2011-01-07 10:27:40 UTC (rev 485) @@ -40,7 +40,6 @@ import fr.ifremer.coser.CoserBusinessException; import fr.ifremer.coser.services.WebService; import fr.ifremer.coser.web.CoserWebConfig; -import fr.ifremer.coser.web.CoserWebConstants; import fr.ifremer.coser.web.CoserWebException; import fr.ifremer.coser.web.ServiceFactory; @@ -127,7 +126,7 @@ protected void updateDataProperties() { CoserWebConfig config = ServiceFactory.getCoserConfig(); - File webProperties = new File(config.getWebServerDirectory(), CoserWebConstants.WEB_PROPERTIES_NAME); + File webProperties = config.getWebPropertiesFile(); Properties props = new Properties(); InputStream iStream = null;