|
From: <car...@us...> - 2009-06-03 17:49:05
|
Revision: 4838
http://fudaa.svn.sourceforge.net/fudaa/?rev=4838&view=rev
Author: caroledel
Date: 2009-06-03 17:48:49 +0000 (Wed, 03 Jun 2009)
Log Message:
-----------
messages : insertion de valeurs dynamiques
Validation scenario : generation du fichier scenario.xml
+ d?\195?\169but ecriture des fichiers xml utilis?\195?\169s par ce sc?\195?\169nario
Modified Paths:
--------------
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ScenarioWriter.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java
trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ihmMessages.properties
trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ScenarioWriter.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ScenarioWriter.java 2009-06-03 15:28:51 UTC (rev 4837)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ScenarioWriter.java 2009-06-03 17:48:49 UTC (rev 4838)
@@ -5,17 +5,59 @@
package org.fudaa.dodico.crue.validation;
import java.io.IOException;
+import java.util.List;
-import com.memoire.fu.FuLogCrue;
-
+import org.apache.commons.collections.CollectionUtils;
import org.fudaa.dodico.crue.io.common.CrueFileOpWriterCharSimpleAbstract;
+import org.fudaa.dodico.crue.metier.EMHModeleBase;
+import org.fudaa.dodico.crue.metier.EMHModeleEnchainement;
import org.fudaa.dodico.crue.metier.EMHScenario;
+import org.fudaa.dodico.crue.metier.FichierCrue;
+import com.memoire.fu.FuLogCrue;
+
/**
* @author deniger
*/
public class ScenarioWriter extends CrueFileOpWriterCharSimpleAbstract {
+ /** Entête de tout fichier XML */
+ public static final String ENTETE_XML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
+ /** Propriété XMLNS */
+ public static final String XMLNS = "http://www.fudaa.fr/xsd/crue";
+ /** Propriété XMLNS:XSI */
+ public static final String XMLNS_XSI = "http://www.w3.org/2001/XMLSchema-instance";
+ /** Propriété XMLNS:XI */
+ public static final String XMLNS_XI = "http://www.w3.org/2001/XInclude";
+ /** Propriété XSI:SCHEMALOCATION auquel il faut concaténer le nom du fichier XSD */
+ public static final String XSI_SCHEMALOCATION_SANS_NOM_XSD = XMLNS + " " + XMLNS;
+
+ /**
+ * Forme la chaîne qui contient toutes les informations pour la validation d'un fichier XML (xmlns, xmlns:xsi,
+ * xmlns:xi, xsi:schemaLocation) et pour accepter les inclusions de fichiers
+ *
+ * @param nomXSD
+ * @return la chaîne formée des attributs cités
+ */
+ public static String getChaineXMLAvecXmlnsXI(final String nomXSD) {
+
+ return "xmlns=\"" + XMLNS + "\" xmlns:xsi=\"" + XMLNS_XSI + "\" xmlns:xi=\"" + XMLNS_XI
+ + "\" xsi:schemaLocation=\"" + XSI_SCHEMALOCATION_SANS_NOM_XSD + "/" + nomXSD + ".xsd";
+ }
+
+ /**
+ * Forme la chaîne qui contient toutes les informations pour la validation d'un fichier XML (xmlns, xmlns:xsi,
+ * xsi:schemaLocation)
+ *
+ * @param nomXSD
+ * @return la chaîne formée des attributs cités
+ */
+ public static String getChaineXML(final String nomXSD) {
+
+ return "xmlns=\"" + XMLNS + "\" xmlns:xsi=\"" + XMLNS_XSI + "\" xsi:schemaLocation=\""
+ + XSI_SCHEMALOCATION_SANS_NOM_XSD + "/" + nomXSD + ".xsd";
+ }
+
protected static class InputFormatWriter {
protected String version;
protected EMHScenario scenario;
@@ -35,14 +77,91 @@
}
+ /**
+ * Ecriture du fichier XML de validation d'un scénario (qui contient l'ensemble des fichiers XML impactés dans le
+ * scénario qu'ils soient de niveau scénario, modèle et sous-modèle)
+ *
+ * @param in Objet qui contient le scénario à valider et la version de la XSD globale de validation
+ * @throws IOException
+ */
private void writeInput(InputFormatWriter in) throws IOException {
- // TODO a continuer
- // il faut parcourir tous les fichiers du scenario
- // puis le modele
- // puis le sousmodele
- // pour écrire l'entete il faut bien prendre en compte la version le 1.0.0 dans le fichier d'exemple
- super.out_.append("<?xml....");
+ if (in == null || in.scenario == null || in.version == null) { return; }
+
+ // Ecriture de l'entête
+ this.writelnToOut(ENTETE_XML);
+ this.writelnToOut("<ValidationScenario " + getChaineXMLAvecXmlnsXI("scenario-" + in.version) + "\">");
+
+ // Ecriture des fichiers du scénario
+ List<FichierCrue> listeFichiersScenario = in.scenario.getListeFichiersScenario();
+ if (listeFichiersScenario != null) {
+
+ this.writelnToOut("<ScenarioFichiers>");
+ for (int i = 0, imax = listeFichiersScenario.size(); i < imax; i++) {
+ writeIncludeFichier(listeFichiersScenario.get(i).getId());
+ }
+ this.writelnToOut("</ScenarioFichiers>");
+ }
+
+ // Ecriture des ValidationModele
+ EMHModeleEnchainement modeleEnch = in.scenario.getGestionModele();
+ List<EMHModeleBase> modeles = modeleEnch.getListeModeles();
+
+ if (CollectionUtils.isNotEmpty(modeles)) {
+ for (int i = 0, imax = modeles.size(); i < imax; i++) {
+
+ final EMHModeleBase modeleBase = modeles.get(i);
+
+ this.writelnToOut("<ValidationModele>");
+
+ // Ecriture des fichiers du modèle
+ writeIncludeListeFichiers(modeleBase.getListeFichiersCrue(), "ModeleFichiers");
+
+ // Ecriture des fichiers des sous-modèles
+ final EMHModeleEnchainement ssModeleEnch = modeleBase.getListeSousModeles();
+ final List<EMHModeleBase> ssModeles = ssModeleEnch.getListeModeles();
+ if (CollectionUtils.isEmpty(ssModeles)) {
+ continue;
+ }
+
+ for (int j = 0, jmax = ssModeles.size(); j < jmax; j++) {
+ writeIncludeListeFichiers(ssModeles.get(j).getListeFichiersCrue(), "SousModeleFichiers");
+ }
+
+ this.writelnToOut("</ValidationModele>");
+ }
+ }
+
+ this.writelnToOut("</ValidationScenario>");
}
+ /**
+ * Ecriture d'une ligne xi:include
+ *
+ * @param nomFichier Nom du fichier à inclure
+ * @throws IOException
+ */
+ private void writeIncludeFichier(String nomFichier) throws IOException {
+
+ this.writelnToOut("<xi:include href=\"" + nomFichier + "\" />");
+ }
+
+ /**
+ * Ecriture d'un ensemble de fichiers à inclure
+ *
+ * @param listeFichiers
+ * @param nomBalise Nom de la balise qui englobe la liste des fichiers à inclure
+ * @throws IOException
+ */
+ private void writeIncludeListeFichiers(final List<FichierCrue> listeFichiers, final String nomBalise)
+ throws IOException {
+
+ if (CollectionUtils.isEmpty(listeFichiers)) { return; }
+
+ this.writelnToOut("<" + nomBalise + ">");
+ for (int j = 0, jmax = listeFichiers.size(); j < jmax; j++) {
+ writeIncludeFichier(listeFichiers.get(j).getId());
+ }
+ this.writelnToOut("</" + nomBalise + ">");
+ }
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java 2009-06-03 15:28:51 UTC (rev 4837)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java 2009-06-03 17:48:49 UTC (rev 4838)
@@ -5,12 +5,20 @@
package org.fudaa.dodico.crue.validation;
import java.io.File;
+import java.util.List;
+import org.apache.commons.collections.CollectionUtils;
import org.fudaa.ctulu.CtuluAnalyze;
+import org.fudaa.dodico.crue.io.Crue10FileFormatFactory;
+import org.fudaa.dodico.crue.io.dao.CrueHelper;
+import org.fudaa.dodico.crue.metier.CrueData;
+import org.fudaa.dodico.crue.metier.EMHModeleBase;
+import org.fudaa.dodico.crue.metier.EMHModeleEnchainement;
import org.fudaa.dodico.crue.metier.EMHScenario;
+import org.fudaa.dodico.crue.metier.FichierCrue;
/**
- * Classe permettant de valider la cohérence des fichiers d'un modele
+ * Classe permettant de valider la cohérence des fichiers d'un modèle
*
* @author deniger
*/
@@ -19,11 +27,15 @@
private final File destDir;
private final EMHScenario scenario;
+ private static final short NIVEAU_SCENARIO = 1;
+ private static final short NIVEAU_MODELE = 2;
+ private static final short NIVEAU_SS_MODELE = 3;
+
private final String grammaireVersion = "1.0.0";
/**
- * @param destDir le répertoire de travail de ce validation
- * @param project le projet à valider
+ * @param destDir le répertoire de travail de cette validation
+ * @param scenario le scénario à valider
*/
public ValidateModeleScenario(File destDir, EMHScenario scenario) {
super();
@@ -33,6 +45,8 @@
/**
* Ecrit le fichier scenario.xml
+ *
+ * @return Les messages d'erreur éventuels
*/
public CtuluAnalyze writeScenario() {
destDir.mkdirs();
@@ -45,10 +59,152 @@
}
/**
- * @return le fichier utiliser pour ecrire le fichier concatene
+ * @return le fichier utilisé pour écrire le fichier concaténé
*/
public File getScenarioFile() {
return new File(destDir, "scenario.xml");
}
+ /**
+ * @param crueData
+ * @return Les messages d'erreur éventuels
+ */
+ public CtuluAnalyze writeFichiersXMLScenario(final CrueData crueData) {
+
+ final CtuluAnalyze analyzer = new CtuluAnalyze();
+ if (crueData == null || scenario == null) {
+ analyzer.addFatalError("");
+ return analyzer;
+ }
+
+ // Ecriture des fichiers du scénario
+ writeListeFichiers(scenario.getListeFichiersScenario(), crueData, analyzer, NIVEAU_SCENARIO);
+
+ // Ecriture des ValidationModele
+ EMHModeleEnchainement modeleEnch = scenario.getGestionModele();
+ List<EMHModeleBase> modeles = modeleEnch.getListeModeles();
+
+ if (CollectionUtils.isNotEmpty(modeles)) {
+ for (int i = 0, imax = modeles.size(); i < imax; i++) {
+
+ final EMHModeleBase modeleBase = modeles.get(i);
+
+ // Ecriture des fichiers du modèle
+ writeListeFichiers(modeleBase.getListeFichiersCrue(), crueData, analyzer, NIVEAU_MODELE);
+
+ // Ecriture des fichiers des sous-modèles
+ final EMHModeleEnchainement ssModeleEnch = modeleBase.getListeSousModeles();
+ final List<EMHModeleBase> ssModeles = ssModeleEnch.getListeModeles();
+ if (CollectionUtils.isEmpty(ssModeles)) {
+ continue;
+ }
+
+ for (int j = 0, jmax = ssModeles.size(); j < jmax; j++) {
+
+ writeListeFichiers(ssModeles.get(j).getListeFichiersCrue(), crueData, analyzer, NIVEAU_SS_MODELE);
+ }
+
+ }
+ }
+
+ return analyzer;
+ }
+
+ /**
+ * @param type
+ * @param crueData
+ * @param f
+ * @param analyzer
+ */
+ private void writeFichierNivScenarioSelonType(final String type, final CrueData crueData, final File f,
+ final CtuluAnalyze analyzer) {
+
+ if (type == null) { return; }
+
+ if (type.equals(CrueHelper.OCAL)) {
+ Crue10FileFormatFactory.getOCALFileFormat().write(crueData.getOrdCalc(), f, analyzer);
+ } else if (type.equals(CrueHelper.ORES)) {
+ Crue10FileFormatFactory.getORESFileFormat().write(crueData.getOrdRes(), f, analyzer);
+ } else if (type.equals(CrueHelper.PCAL)) {
+ Crue10FileFormatFactory.getPCALFileFormat().write(crueData.getParamCalc(), f, analyzer);
+ } else if (type.equals(CrueHelper.DCLM)) {
+ Crue10FileFormatFactory.getDCLMFileFormat().write(crueData.getConditionsLim(), f, analyzer);
+ } else if (type.equals(CrueHelper.DLHY)) {
+ Crue10FileFormatFactory.getDLHYFileFormat().write(crueData.getLois(), f, analyzer);
+ }
+ }
+
+ /**
+ * @param type
+ * @param crueData
+ * @param f
+ * @param analyzer
+ */
+ private void writeFichierNivModeleSelonType(final String type, final CrueData crueData, final File f,
+ final CtuluAnalyze analyzer) {
+
+ if (type == null) { return; }
+
+ if (type.equals(CrueHelper.OPTR)) {
+ // Crue10FileFormatFactory.getOPTRFileFormat().write(crueData, f, analyzer);
+ } else if (type.equals(CrueHelper.OPTG)) {
+ Crue10FileFormatFactory.getOPTGFileFormat().write(crueData.getPretraitementsGeom(), f, analyzer);
+ } else if (type.equals(CrueHelper.OPTI)) {
+ Crue10FileFormatFactory.getOPTIFileFormat().write(crueData.getMethodesInterpolation(), f, analyzer);
+ } else if (type.equals(CrueHelper.PNUM)) {
+ Crue10FileFormatFactory.getPNUMFileFormat().write(crueData.getParamNumModeleBase(), f, analyzer);
+ } else if (type.equals(CrueHelper.DPTI)) {
+ Crue10FileFormatFactory.getDPTIFileFormat().write(crueData, f, analyzer);
+ }
+ }
+
+ /**
+ * @param type
+ * @param crueData
+ * @param f
+ * @param analyzer
+ */
+ private void writeFichierNivSsModeleSelonType(final String type, final CrueData crueData, final File f,
+ final CtuluAnalyze analyzer) {
+
+ if (type == null) { return; }
+
+ if (type.equals(CrueHelper.DRSO)) {
+ Crue10FileFormatFactory.getDRSOFileFormat().write(crueData, f, analyzer);
+ } else if (type.equals(CrueHelper.DCSP)) {
+ Crue10FileFormatFactory.getDCSPFileFormat().write(crueData.getAllEMH(), f, analyzer);
+ } else if (type.equals(CrueHelper.DPTG)) {
+ Crue10FileFormatFactory.getDPTGFileFormat().write(crueData, f, analyzer);
+ } else if (type.equals(CrueHelper.DFRT)) {
+ Crue10FileFormatFactory.getDFRTFileFormat().write(crueData.getFrottements(), f, analyzer);
+ }
+ }
+
+ /**
+ * @param listeFichiers
+ * @param crueData
+ * @param analyzer
+ * @param niveauFichier
+ */
+ private void writeListeFichiers(final List<FichierCrue> listeFichiers, final CrueData crueData,
+ final CtuluAnalyze analyzer, final short niveauFichier) {
+
+ if (listeFichiers != null) {
+
+ for (int i = 0, imax = listeFichiers.size(); i < imax; i++) {
+ final FichierCrue fichierCrue = listeFichiers.get(i);
+ final File f = new File(destDir, fichierCrue.getId());
+
+ if (niveauFichier == NIVEAU_SCENARIO) {
+ writeFichierNivScenarioSelonType(fichierCrue.getType(), crueData, f, analyzer);
+ } else if (niveauFichier == NIVEAU_MODELE) {
+ writeFichierNivModeleSelonType(fichierCrue.getType(), crueData, f, analyzer);
+ } else if (niveauFichier == NIVEAU_SS_MODELE) {
+ writeFichierNivSsModeleSelonType(fichierCrue.getType(), crueData, f, analyzer);
+ }
+
+ }
+ }
+
+ }
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ihmMessages.properties
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ihmMessages.properties 2009-06-03 15:28:51 UTC (rev 4837)
+++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ihmMessages.properties 2009-06-03 17:48:49 UTC (rev 4838)
@@ -6,7 +6,7 @@
ihm.error.sousmodele.empty = Pas de sous mod\u00E8les d\u00E9finis pour ce mod\u00E8le
ihm.titre.chargement.projet = Chargement projet
ihm.modeles.dispos = Modeles disponibles
-ihm.ss.modeles.dispos = Sous Modeles disponibles
+ihm.ss.modeles.dispos = Sous Mod\xE8les disponibles
ihm.scenarios.dispos = Sc\xE9narios disponibles
ihm.scenario.courant = Sc\xE9nario courant
ihm.par = par
@@ -34,8 +34,7 @@
ihm.soumettre.commentaire = Soumettre un commentaire
ihm.applis = Applications
ihm.chargement = Chargement
-ihm.scenario.courant = Le sc\xE9nario courant
-ihm.confirm.chargt.scenario = va \xEAtre charg\xE9. Voulez-vous continuer ?
+ihm.confirm.chargt.scenario.courant = Le sc\xE9nario courant {0} va \xEAtre charg\xE9. Voulez-vous continuer ?
ihm.chargt.fichiers.scenario = Chargement des fichiers du scenario
ihm.dcFailed.error = La lecture du fichier DC a \xE9chou\xE9e: {0}
ihm.drsoFailed.error = La lecture du fichier DRSO a \xE9chou\xE9e: {0}
@@ -47,23 +46,22 @@
ihm.notAnySousModelesFiles.error = Il manque un fichier dans un sous-mod\xE8le. Il faut une liste fixe de fichiers de niveau sous-mod\xE8le : DRSO, DPTG, DFRT, DCSP.
ihm.res.chargt.scenario = R\xE9sultats du Chargement sc\xE9nario
ihm.fichiers.scenario = Fichiers existants dans le sc\xE9nario
-ihm.confirm.chargt.scenario1 = Etes-vous sur de vouloir charger ce sc\xE9nario
-ihm.confirm.chargt.scenario2 = ? Il deviendra le sc\xE9nario courant.
+ihm.confirm.chargt.scenario = Etes-vous s\xFBr de vouloir charger ce sc\xE9nario {0} ? Il deviendra le sc\xE9nario courant.
ihm.charger.scenario = Charger Sc\xE9nario
-ihm.drso.genere = Fichier DRSO g\xE9n\xE9r\xE9 dans
-ihm.dfrt.genere = Fichier DFRT g\xE9n\xE9r\xE9 dans
-ihm.dcsp.genere = Fichier DCSP g\xE9n\xE9r\xE9 dans
-ihm.dptg.genere = Fichier DPTG g\xE9n\xE9r\xE9 dans
-ihm.optg.genere = Fichier OPTG g\xE9n\xE9r\xE9 dans
-ihm.pnum.genere = Fichier PNUM g\xE9n\xE9r\xE9 dans
-ihm.dpti.genere = Fichier DPTI g\xE9n\xE9r\xE9 dans
-ihm.ocal.genere = Fichier OCAL g\xE9n\xE9r\xE9 dans
-ihm.ores.genere = Fichier ORES g\xE9n\xE9r\xE9 dans
-ihm.pcal.genere = Fichier PCAL g\xE9n\xE9r\xE9 dans
-ihm.dlhy.genere = Fichier DLHY g\xE9n\xE9r\xE9 dans
-ihm.dclm.genere = Fichier DCLM g\xE9n\xE9r\xE9 dans
-ihm.dc.genere = Fichier DC g\xE9n\xE9r\xE9 dans
-ihm.dh.genere = Fichier DH g\xE9n\xE9r\xE9 dans
+ihm.drso.genere = Fichier DRSO g\xE9n\xE9r\xE9 dans {0}
+ihm.dfrt.genere = Fichier DFRT g\xE9n\xE9r\xE9 dans {0}
+ihm.dcsp.genere = Fichier DCSP g\xE9n\xE9r\xE9 dans {0}
+ihm.dptg.genere = Fichier DPTG g\xE9n\xE9r\xE9 dans {0}
+ihm.optg.genere = Fichier OPTG g\xE9n\xE9r\xE9 dans {0}
+ihm.pnum.genere = Fichier PNUM g\xE9n\xE9r\xE9 dans {0}
+ihm.dpti.genere = Fichier DPTI g\xE9n\xE9r\xE9 dans {0}
+ihm.ocal.genere = Fichier OCAL g\xE9n\xE9r\xE9 dans {0}
+ihm.ores.genere = Fichier ORES g\xE9n\xE9r\xE9 dans {0}
+ihm.pcal.genere = Fichier PCAL g\xE9n\xE9r\xE9 dans {0}
+ihm.dlhy.genere = Fichier DLHY g\xE9n\xE9r\xE9 dans {0}
+ihm.dclm.genere = Fichier DCLM g\xE9n\xE9r\xE9 dans {0}
+ihm.dc.genere = Fichier DC g\xE9n\xE9r\xE9 dans {0}
+ihm.dh.genere = Fichier DH g\xE9n\xE9r\xE9 dans {0}
ihm.analyse = Analyse
ihm.gestion.modeles = Gestion des mod\xE8les
ihm.ss.modeles.associes = Sous mod\xE8les associ\xE9s
@@ -81,7 +79,7 @@
ihm.res.comparaison = R\xE9sultat comparaison
ihm.bouton.valider = Valider
ihm.affichage.emhs = Affichage des EMHs
-ihm.emhs.scenario = EMHs contenues dans le sc\xE9nario courant
+ihm.emhs.scenario = EMHs contenues dans le sc\xE9nario courant {0}
ihm.frame.chgt.format.crue9.crue10 = G\xE9n\xE9ration Crue 9 <=> Crue 10
ihm.onglet.crue10 = g\xE9n\xE9rer Crue 10
ihm.onglet.crue9 = g\xE9n\xE9rer Crue 9
@@ -96,7 +94,7 @@
ihm.transformation.crue9.crue10 = Transformation Crue 9 <=> Crue 10
ihm.infos.etude = Infos Etude
ihm.label.etude = Etude:
-ihm.label.creation = Creation:
+ihm.label.creation = Cr\xE9ation:
ihm.label.auteur = Auteur:
ihm.bouton.parcourir2 = ...
ihm.instruc.visualiser.scenario = Pour visualiser le sc\xE9nario, cliquer dessus ou sur le bouton ci-contre
Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java 2009-06-03 15:28:51 UTC (rev 4837)
+++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java 2009-06-03 17:48:49 UTC (rev 4838)
@@ -7,21 +7,25 @@
import java.io.File;
import java.io.IOException;
-import com.memoire.fu.FuLogCrue;
-
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.CtuluLibFile;
import org.fudaa.dodico.crue.common.AbstractTestCase;
import org.fudaa.dodico.crue.io.TestCrueETUFile;
+import org.fudaa.dodico.crue.metier.CrueData;
import org.fudaa.dodico.crue.metier.EMHScenario;
import org.fudaa.dodico.crue.metier.EMHproject;
+import com.memoire.fu.FuLogCrue;
+
/**
* @author deniger
*/
@SuppressWarnings("PMD.SystemPrintln")
public class TestValidateModeleScenario extends AbstractTestCase {
+ /**
+ * Teste l'écriture du fichier de validation d'un scénario
+ */
public void testWriter() {
final EMHproject projet3 = TestCrueETUFile.readModele3();
// on va cr
@@ -34,8 +38,6 @@
}
System.err.println("Dossier de destination= " + destDir.getAbsolutePath());
final EMHScenario scenarioCourant = projet3.getScenarioCourant();
- // TODO il faut continuer le scenarioWriter pour obtenir le meme resultat que le fichier:
- // Modele3.scenario.xml fourni dans le répertoire de test. Mise
final ValidateModeleScenario validator = new ValidateModeleScenario(destDir, scenarioCourant);
CtuluAnalyze writeScenario = validator.writeScenario();
testAnalyser(writeScenario);
@@ -50,5 +52,10 @@
FuLogCrue.error(e);
}
+ // TODO CDE : CrueData null à ce stade ; Voir comment le charger...
+ CrueData crueData = scenarioCourant.getDataSources();
+ CtuluAnalyze analyzer = validator.writeFichiersXMLScenario(crueData);
+ testAnalyser(analyzer);
+
}
}
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java 2009-06-03 15:28:51 UTC (rev 4837)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java 2009-06-03 17:48:49 UTC (rev 4838)
@@ -1,5 +1,6 @@
package org.fudaa.fudaa.crue.common;
+import java.text.MessageFormat;
import java.util.ResourceBundle;
import org.fudaa.dodico.crue.io.common.Messages;
@@ -28,6 +29,16 @@
return bundle.getString(_s);
}
+ /**
+ * @param _s
+ * @param valeurs
+ * @return chaine complétée avec les valeurs passées en paramètre
+ */
+ public static String getS(final String _s, final Object... valeurs) {
+
+ return MessageFormat.format(getS(_s), valeurs);
+ }
+
// public static String getS(final String _s, final String _v0) {
// return FCrueResource.CRUE.getString(_s, _v0);
// }
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-06-03 15:28:51 UTC (rev 4837)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-06-03 17:48:49 UTC (rev 4838)
@@ -126,8 +126,8 @@
// -- affichage du résultat --//
if (projet.getScenarioCourant() != null) {
- if (impl.question(FCrueResource.getS("ihm.chargement"), FCrueResource.getS("ihm.scenario.courant") + " "
- + projet.getScenarioCourant().getId() + " " + FCrueResource.getS("ihm.confirm.chargt.scenario"))) {
+ if (impl.question(FCrueResource.getS("ihm.chargement"), FCrueResource.getS("ihm.confirm.chargt.scenario.courant",
+ projet.getScenarioCourant().getId()))) {
ScenarioLoader algo = new ScenarioLoader(this, projet.getScenarioCourant());
// -- chargement du projet --//
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java 2009-06-03 15:28:51 UTC (rev 4837)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java 2009-06-03 17:48:49 UTC (rev 4838)
@@ -69,8 +69,8 @@
@Override
public void actionPerformed(ActionEvent _e) {
- if (impl.question(FCrueResource.getS("ihm.chargement"), FCrueResource.getS("ihm.confirm.chargt.scenario1") + " "
- + scenario.getId() + FCrueResource.getS("ihm.confirm.chargt.scenario2"))) {
+ if (impl.question(FCrueResource.getS("ihm.chargement"), FCrueResource.getS("ihm.confirm.chargt.scenario",
+ scenario.getId()))) {
if (scenario != null) {
ScenarioLoader algo = new ScenarioLoader(projet, scenario);
algo.compute();
@@ -217,7 +217,8 @@
// -- Verifier la connexité du graphe --//
CtuluAnalyze analyseValidationCOnnexite = projet.getManagerError().getNewAnalyser();
analyseValidationCOnnexite.setDesc(FCrueResource.getS("ihm.validation.connexite"));
- final boolean res = ValidateConnectionModele.validateConnexite(cruedataSousModele, analyseValidationCOnnexite);
+ final boolean res = ValidateConnectionModele.validateConnexite(cruedataSousModele,
+ analyseValidationCOnnexite);
if (!res) { return; }
@@ -329,7 +330,7 @@
dataScenarioGlobale.setParamCalc(dataPCAL);
} catch (Exception e) {
- projet.getManagerError().getNewAnalyser().addError("io.xml.erreur", new Object[] { e.getMessage() });
+ projet.getManagerError().getNewAnalyser().addError("io.xml.error", new Object[] { e.getMessage() });
} finally {
// -- ajout des data au niveau scenario --//
scenario.setDataSources(dataScenarioGlobale);
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java 2009-06-03 15:28:51 UTC (rev 4837)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java 2009-06-03 17:48:49 UTC (rev 4838)
@@ -92,8 +92,7 @@
new CrueIOResu<CrueData>(projet.getProject().getScenarioCourant().getDataSources()), fileDc,
projet.getManagerError().getNewAnalyser());
- projet.getManagerError().getLastAnalyser().addInfo(
- FCrueResource.getS("ihm.dc.genere") + " " + fileDc.getAbsolutePath());
+ projet.getManagerError().getLastAnalyser().addInfo(FCrueResource.getS("ihm.dc.genere", fileDc.getAbsolutePath()));
File fileDH = null;
if (saveAs) {
@@ -107,8 +106,7 @@
new CrueIOResu<CrueData>(projet.getProject().getScenarioCourant().getDataSources()), fileDH,
projet.getManagerError().getNewAnalyser());
- projet.getManagerError().getLastAnalyser().addInfo(
- FCrueResource.getS("ihm.dh.genere") + " " + fileDH.getAbsolutePath());
+ projet.getManagerError().getLastAnalyser().addInfo(FCrueResource.getS("ihm.dh.genere", fileDH.getAbsolutePath()));
return ok;
@@ -178,7 +176,7 @@
ok = Crue10FileFormatFactory.getDRSOFileFormat().write(data, fileDrso, projet.getManagerError().getNewAnalyser());
projet.getManagerError().getLastAnalyser().addInfo(
- FCrueResource.getS("ihm.drso.genere") + " " + fileDrso.getAbsolutePath());
+ FCrueResource.getS("ihm.drso.genere", fileDrso.getAbsolutePath()));
}
// -- generation DFRT --//
@@ -196,7 +194,7 @@
projet.getManagerError().getNewAnalyser());
projet.getManagerError().getLastAnalyser().addInfo(
- FCrueResource.getS("ihm.dfrt.genere") + " " + fileDfrt.getAbsolutePath());
+ FCrueResource.getS("ihm.dfrt.genere", fileDfrt.getAbsolutePath()));
}
}
// -- DCSP --//
@@ -213,7 +211,7 @@
projet.getManagerError().getNewAnalyser());
projet.getManagerError().getLastAnalyser().addInfo(
- FCrueResource.getS("ihm.dcsp.genere") + " " + fileDcsp.getAbsolutePath());
+ FCrueResource.getS("ihm.dcsp.genere", fileDcsp.getAbsolutePath()));
}
// -- DPTG --//
@@ -229,7 +227,7 @@
projet.getManagerError().getNewAnalyser());
projet.getManagerError().getLastAnalyser().addInfo(
- FCrueResource.getS("ihm.dptg.genere") + " " + fileDptg.getAbsolutePath());
+ FCrueResource.getS("ihm.dptg.genere", fileDptg.getAbsolutePath()));
}
// -- Niveau modele --//
// Une liste fixe de fichiers de niveau modèle : (OPTR), OPTG, OPTI, PNUM, DPTI, RPTR, RPTG, RPTI, RCAL, CPTR, CPTG,
@@ -249,7 +247,7 @@
projet.getManagerError().getNewAnalyser());
projet.getManagerError().getLastAnalyser().addInfo(
- FCrueResource.getS("ihm.optg.genere") + " " + fileOptg.getAbsolutePath());
+ FCrueResource.getS("ihm.optg.genere", fileOptg.getAbsolutePath()));
}
}
// - PNUM --//
@@ -266,7 +264,7 @@
projet.getManagerError().getNewAnalyser());
projet.getManagerError().getLastAnalyser().addInfo(
- FCrueResource.getS("ihm.pnum.genere") + " " + filePnum.getAbsolutePath());
+ FCrueResource.getS("ihm.pnum.genere", filePnum.getAbsolutePath()));
}
}
@@ -284,7 +282,7 @@
projet.getManagerError().getNewAnalyser());
projet.getManagerError().getLastAnalyser().addInfo(
- FCrueResource.getS("ihm.dpti.genere") + " " + fileDpti.getAbsolutePath());
+ FCrueResource.getS("ihm.dpti.genere", fileDpti.getAbsolutePath()));
}
// -- niveau scenario Une liste fixe de fichiers de niveau scénario : OCAL, ORES, PCAL, DCLM, DLHY --//
// -- OCAL --//
@@ -301,7 +299,7 @@
projet.getManagerError().getNewAnalyser());
projet.getManagerError().getLastAnalyser().addInfo(
- FCrueResource.getS("ihm.ocal.genere") + " " + fileOcal.getAbsolutePath());
+ FCrueResource.getS("ihm.ocal.genere", fileOcal.getAbsolutePath()));
}
}
@@ -320,7 +318,7 @@
projet.getManagerError().getNewAnalyser());
projet.getManagerError().getLastAnalyser().addInfo(
- FCrueResource.getS("ihm.ores.genere") + " " + fileORES.getAbsolutePath());
+ FCrueResource.getS("ihm.ores.genere", fileORES.getAbsolutePath()));
}
}
// -- PCAL --//
@@ -337,7 +335,7 @@
projet.getManagerError().getNewAnalyser());
projet.getManagerError().getLastAnalyser().addInfo(
- FCrueResource.getS("ihm.pcal.genere") + " " + filePCAL.getAbsolutePath());
+ FCrueResource.getS("ihm.pcal.genere", filePCAL.getAbsolutePath()));
}
}
// -- DLHY --//
@@ -354,7 +352,7 @@
projet.getManagerError().getNewAnalyser());
projet.getManagerError().getLastAnalyser().addInfo(
- FCrueResource.getS("ihm.dlhy.genere") + " " + fileDLHY.getAbsolutePath());
+ FCrueResource.getS("ihm.dlhy.genere", fileDLHY.getAbsolutePath()));
}
}
// -- DCLM --//
@@ -371,7 +369,7 @@
projet.getManagerError().getNewAnalyser());
projet.getManagerError().getLastAnalyser().addInfo(
- FCrueResource.getS("ihm.dclm.genere") + " " + fileDCLM.getAbsolutePath());
+ FCrueResource.getS("ihm.dclm.genere", fileDCLM.getAbsolutePath()));
}
}
return ok;
@@ -522,7 +520,7 @@
}
} catch (Exception e) {
- projet.getManagerError().getNewAnalyser().addError("io.xml.erreur", e.getMessage());
+ projet.getManagerError().getNewAnalyser().addError("io.xml.error", e.getMessage());
// } finally {
// return ok;
}
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java 2009-06-03 15:28:51 UTC (rev 4837)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java 2009-06-03 17:48:49 UTC (rev 4838)
@@ -62,7 +62,7 @@
treeEMH.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
this.getContentPane().add(new JScrollPane(treeEMH), BorderLayout.CENTER);
this.getContentPane().add(
- new JLabel(FCrueResource.getS("ihm.emhs.scenario") + " " + projet.getProject().getScenarioCourant().getId()),
+ new JLabel(FCrueResource.getS("ihm.emhs.scenario", projet.getProject().getScenarioCourant().getId())),
BorderLayout.NORTH);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|