|
From: <had...@us...> - 2009-05-18 16:18:51
|
Revision: 4786
http://fudaa.svn.sourceforge.net/fudaa/?rev=4786&view=rev
Author: hadouxad
Date: 2009-05-18 16:18:39 +0000 (Mon, 18 May 2009)
Log Message:
-----------
FCB
Modified Paths:
--------------
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java
trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheModeleFille.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleComparaisonScenario.java
Added Paths:
-----------
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCbStructureInfos.java
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java 2009-05-18 09:30:07 UTC (rev 4785)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java 2009-05-18 16:18:39 UTC (rev 4786)
@@ -1,5 +1,7 @@
package org.fudaa.dodico.crue.io.neuf;
+import gnu.trove.TLongArrayList;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -22,18 +24,15 @@
NativeNIOHelper helper_;
FileInputStream in_;
+ File file_;
- @Override
- protected Object internalRead() {
-
- return readFile();
- }
-
/**
- * Retourne la liste des indices des pas de temps * @return
+ * Retourne la liste des indices des pas de temps *
+ *
+ * @return
*/
public Object readFile() {
-
+ FCbStructureInfos infos = new FCbStructureInfos(file_);
final List data = new ArrayList();
helper_ = new NativeNIOHelper(in_.getChannel());
try {
@@ -48,6 +47,9 @@
// iprm i4 : nombre de profils du modèle
helper_.readAll(4);
+ ByteBuffer bf = helper_.getBuffer();
+ infos.nbProfilsModele = bf.getInt();
+
// past r8 : pas de temps d'impression des résultats, en secondes.
helper_.readAll(8);
// icodav i4 : présence (1) ou non (0) d'une régulation
@@ -55,47 +57,33 @@
// ibmax i4 : nombre de branches du modèle
helper_.readAll(4);
- final ByteBuffer bf = helper_.getBuffer();
- final int nbBranches = bf.getInt();
+ bf = helper_.getBuffer();
+ infos.nbBranches = bf.getInt();
- // -- on passe a la ligne suivante --//
+ // -- on passe a la ligne contenant ibmax et iparam --//
helper_.skipRecord();
- // on passe la ligne
+ // on arrive a la ligne des profils --//
// write(ifi2) (tit(ipro),sngl(dist(ipro)),zfond(nuprfl(ipro)), ipro,ipro=1,iprm)
+ // on recupere l'indice du début des profils.
+ readProfils(infos);
- helper_.skipRecord();
-
// -- on passe la boucle de nbbranches lignes--//
- // do 30 ib=1,ibmax
- // write(ifi2) ntyp(ib),imax(ib),(n0pr(ip,ib),ip=1,imax(ib)),
- // * nombr(ib),nupam(ib),nupav(ib)
- // 30 continue
- for (int i = 0; i < nbBranches; i++) {
- helper_.skipRecord();
- }
+ readBranches(infos);
+ // -- ensuite on lit les points si ou ils sont affiches--//
+ readNodes(infos);
+
// TODO gere si oui ou non la ligne de write(9) npar,(nompar(i),tx(i),i=1,npar)
// es t ecrite, cf spec pour entete
+ readRegulationParam(infos);
- while (true) {
- // -- on arrive au CORPS, on repere les indice de chaque PDT --//
- data.add(helper_.getCurrentPosition());
+ // -- on arrive au CORPS, on repere les indice de chaque PDT --//
+ readPdt(infos);
- // --on passee les lignes de regul--
- // write(9) test,sngl(t)
- // write(9) (para(i),i=1,npar)
- helper_.skipRecord();
- helper_.skipRecord();
- // TODO continuer les skip des lignes de regul, il faut lire le npar et faire nfois
+ // --on passee les lignes de Crue--//
- // --on passee les lignes de Crue--//
- // TODO a faire
-
- // on sort quand on est en EOF.
- }
-
} catch (final IOException e) {
analyze_.manageException(e);
} finally {
@@ -112,19 +100,152 @@
}
}
- public void stop() {
- // FIXME Auto-generated method stub
+ /**
+ * Lit les infos des noeuds si .
+ *
+ * @param infos
+ * @throws IOException
+ */
+ private void readNodes(FCbStructureInfos infos) throws IOException {
+ // (ifi2) nbpoin,(nompoi(ip),nupro(ip),ip=1,nbpoin)
+ // nbpoin i4 : nombre de noeuds
+ helper_.readAll(4);
+ ByteBuffer bf = helper_.getBuffer();
+
+ infos.nbNoeuds = bf.getInt();
+
+ infos.indicePostionHelperForNoeuds = helper_.getCurrentPosition();
+ for (int i = 0; i < infos.nbNoeuds; i++) {
+ helper_.skipRecord();
+ }
+
}
+ /**
+ * Lit les infos des regulations si elles existent.
+ *
+ * @param infos
+ * @throws IOException
+ */
+ private void readRegulationParam(FCbStructureInfos infos) throws IOException {
+ // write(9) npar,(nompar(i),tx(i),i=1,npar)
+
+ // TODO a verifier: l'objectif ici est de tenter de lire la ligne, si elle existe il y a des regulations,
+ // WARNING sinon il n'y a pas de pas de temps regul.
+
+ // npar i4 : nombre de paramètres de régulation
+
+ helper_.readAll(4);
+ ByteBuffer bf = helper_.getBuffer();
+ try {
+ infos.nbParamsRegulation = bf.getInt();
+ } catch (Exception e) {
+
+ return;
+ }
+ infos.hasRegulationRecords = true;
+ infos.tableauNomsParamRegulations = new String[infos.nbParamsRegulation];
+
+ for (int i = 0; i < infos.nbParamsRegulation; i++) {
+ helper_.readAll(8);
+ ByteBuffer buffer = helper_.getBuffer();
+
+ char[] nomChar = new char[8];
+ for (int j = 0; j < 8; j++) {
+ nomChar[j] = buffer.getChar();
+ }
+ infos.tableauNomsParamRegulations[i] = new String(nomChar);
+
+ }
+
+ infos.indicePostionHelperForRegulations = helper_.getCurrentPosition();
+
+ }
+
+ /**
+ * lit les pdt.
+ *
+ * @param infos
+ * @throws IOException
+ */
+ public void readPdt(FCbStructureInfos infos) throws IOException {
+
+ infos.tableauIndicesPdtCrue = new TLongArrayList();
+ infos.tableauIndicesPdtRegul = new TLongArrayList();
+
+ // -- on sort de la boucle au eof --//
+ while (true) {
+ // -- on lit les 2 param test et l'indice du pdt --//
+ // write(9) test,sngl(t)
+
+ helper_.readAll(8);
+ ByteBuffer buffer = helper_.getBuffer();
+
+ char[] nomChar = new char[8];
+ for (int j = 0; j < 8; j++) {
+ nomChar[j] = buffer.getChar();
+ }
+ String type = new String(nomChar);
+ infos.nbTimesSteps++;
+ // test c4 : 'CRUE' ou 'REGU' suivant le cas
+ if (type.equals("REGU")) {
+ infos.nbTimesStepsRegulation++;
+ infos.tableauIndicesPdtRegul.add(helper_.getCurrentPosition());
+ // pas de pdt pour crue
+ infos.tableauIndicesPdtCrue.add(-1);
+ } else {
+ infos.nbTimesStepsCrue++;
+ infos.tableauIndicesPdtCrue.add(helper_.getCurrentPosition());
+ // pas de pdt pour regul
+ infos.tableauIndicesPdtRegul.add(-1);
+ }
+
+ }
+
+ }
+
+ /**
+ * Lit les infos des branches
+ *
+ * @param infos
+ * @throws IOException
+ */
+ private void readBranches(FCbStructureInfos infos) throws IOException {
+ // do 30 ib=1,ibmax
+ // write(ifi2) ntyp(ib),imax(ib),(n0pr(ip,ib),ip=1,imax(ib)),
+ // * nombr(ib),nupam(ib),nupav(ib)
+ // 30 continue
+ infos.indicePostionHelperForBranches = helper_.getCurrentPosition();
+ for (int i = 0; i < infos.nbBranches; i++) {
+ helper_.skipRecord();
+ }
+ }
+
+ /**
+ * lecture profils write(ifi2) (tit(ipro),sngl(dist(ipro)),zfond(nuprfl(ipro)), ipro,ipro=1,iprm)
+ *
+ * @throws IOException
+ */
+ private void readProfils(FCbStructureInfos infos) throws IOException {
+
+ // on recupere l'indice du début des profils.
+ infos.indicePostionHelperForProfil = helper_.getCurrentPosition();
+ for (int i = 0; i < infos.nbProfilsModele; i++) {
+ helper_.skipRecord();
+ }
+ }
+
+ public void stop() {}
+
@Override
protected FortranInterface getFortranInterface() {
- // FIXME Auto-generated method stub
return FortranLib.getFortranInterface(in_);
}
@Override
public void setFile(final File _f) {
+ file_ = _f;
analyze_ = new CtuluAnalyze();
analyze_.setDesc(super.getOperationDescription(_f));
try {
@@ -134,4 +255,9 @@
}
}
+
+ @Override
+ protected Object internalRead() {
+ return readFile();
+ }
}
Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCbStructureInfos.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCbStructureInfos.java (rev 0)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCbStructureInfos.java 2009-05-18 16:18:39 UTC (rev 4786)
@@ -0,0 +1,414 @@
+package org.fudaa.dodico.crue.io.neuf;
+
+import gnu.trove.TLongArrayList;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.channels.FileChannel;
+
+/**
+ * Structure de données fcb construite à la volée avec les infos fcb qui vont bien. garde en memoire les indices des pas
+ * de temps, les noeuds utilises, les branches, l'indice de regulation, le nb de pas de temps crue et regulation.
+ *
+ * @author Adrien Hadoux
+ */
+public class FCbStructureInfos {
+
+ /**
+ * le channel.
+ */
+ FileChannel channel;
+ /**
+ * le fichier associé.
+ */
+ final File file;
+
+ /**
+ * nb de branches.
+ */
+ int nbBranches = 0;
+ /**
+ * nb de profils du modele.
+ */
+ int nbProfilsModele = 0;
+ /**
+ * nb de profils du modele.
+ */
+ int nbNoeuds = 0;
+
+ /**
+ * indique la position du reader pour le debut de lecture des profils.
+ */
+ long indicePostionHelperForProfil = 0;
+ /**
+ * indique la position du reader pour le debut de lecture des branches.
+ */
+ long indicePostionHelperForBranches = 0;
+ /**
+ * indique la position du reader pour le debut de lecture des noeuds.
+ */
+ long indicePostionHelperForNoeuds = 0;
+ /**
+ * indique la position du reader pour le debut de lecture des nregulation
+ */
+ long indicePostionHelperForRegulations = 0;
+ /**
+ * indique la position du reader pour le debut de lecture des crue pas de temps.
+ */
+ long indicePostionHelperForCruePDT = 0;
+
+ /**
+ * le nb de timesteps total
+ */
+ int nbTimesSteps = 0;
+
+ /**
+ * Nb de pas de temps Regulation, different de crue
+ */
+ int nbTimesStepsRegulation = 0;
+ /**
+ * Nb de parametres de Regulation
+ */
+ int nbParamsRegulation = 0;
+ /**
+ * Nb de pas de temps Crue, different de Regulation
+ */
+ int nbTimesStepsCrue = 0;
+
+ boolean hasRegulationRecords = false;
+ /**
+ * hasCrueRecords en principe toujours vrai. A confirmer.
+ */
+ boolean hasCrueRecords = true;
+
+ /**
+ * Noms des differents parametres intervenant dans la regul: longueur variable.
+ */
+ String[] tableauNomsParamRegulations;
+
+ /**
+ * indice des positions de chaque pdt de crue, longueur variable
+ */
+
+ TLongArrayList tableauIndicesPdtCrue;
+ /**
+ * indice des positions de chaque pdt de regulation
+ */
+ TLongArrayList tableauIndicesPdtRegul;
+
+ /**
+ * Constructeur de la structure d'accès rapide fcb.
+ *
+ * @param file
+ */
+ public FCbStructureInfos(File file) {
+
+ this.file = file;
+ }
+
+ /**
+ * Retourne true si il existe des enregistrements sur la régulation.
+ *
+ * @return
+ */
+ boolean hasRegulationRecords() {
+ return hasRegulationRecords;
+ }
+
+ /**
+ * Retourne true si il existe des enregistrements sur la donnée crue.
+ *
+ * @return
+ */
+ boolean hasCrueRecords() {
+ return hasCrueRecords;
+ }
+
+ int getNbBranche() {
+ return nbBranches;
+ }
+
+ int getNbTimeStepRegulation() {
+ return nbTimesStepsRegulation;
+ }
+
+ int getNbTimeStepCrue() {
+ return nbTimesStepsCrue;
+ }
+
+ /**
+ * Cree un chanel pour le placer sur l'indice de position voulu.
+ *
+ * @throws IOException
+ */
+ private void createChannel() throws IOException {
+ if (channel == null) {
+ channel = new FileInputStream(file).getChannel();
+ }
+ }
+
+ /**
+ * Structure qui correspond a un enregistrement d'une branche.
+ *
+ * @author Adrien Hadoux
+ */
+ public static class StructBranche {
+ int typeBranche;
+ int[] tableauIndiceProfils;
+ String nom;
+ int profilAmont;
+ int profilAval;
+ }
+
+ /**
+ * @param capacity
+ * @return
+ */
+ protected ByteBuffer createBuffer(int capacity) {
+
+ ByteBuffer buffer = ByteBuffer.allocateDirect(capacity);
+
+ return buffer;
+ }
+
+ /**
+ * Recupere la ligne correspondante a la branche indiceBranche. Attention longueur variable a cause des profils...
+ *
+ * @param indiceBranche
+ * @return
+ * @throws IOException
+ */
+ public synchronized StructBranche getValuesBranche(final int indiceBranche) throws IOException {
+ createChannel();
+ if (!channel.isOpen()) { return null; }
+
+ StructBranche structure = new StructBranche();
+
+ // -- position de la position voulue --//
+ long position = indicePostionHelperForBranches + indiceBranche;
+
+ channel.position(position);
+
+ // -- donnees de la forme --//
+ // write(ifi2) ntyp(ib),imax(ib),(n0pr(ip,ib),ip=1,imax(ib)),
+ // nombr(ib),nupam(ib),nupav(ib)
+
+ // ntyp(NBR) i4 : type de la branche ib
+ ByteBuffer buffer = createBuffer(4);
+ channel.read(buffer);
+ structure.typeBranche = buffer.getInt();
+
+ // imax(NBR) i4 : nombre de profil dans la branche ib
+ buffer = createBuffer(4);
+ channel.read(buffer);
+ int nbProfils = buffer.getInt();
+ structure.tableauIndiceProfils = new int[nbProfils];
+
+ // --n0pr(NPR,NBR) i2 : n° absolu du profil dont le n° est ip dans la branche ib --//
+ buffer = createBuffer(4 * nbProfils);
+ // -- on lit tous les num de profils d'un coup --//
+ channel.read(buffer);
+
+ // -- on les copie dans un tableau d'indices --//
+ for (int i = 0; i < nbProfils; i++) {
+
+ structure.tableauIndiceProfils[i] = buffer.getInt();
+ }
+
+ // nombr(NBR) c8 : nom de la branche n° ib
+ buffer = createBuffer(8);
+ channel.read(buffer);
+ char[] nomChar = new char[8];
+ for (int i = 0; i < 8; i++) {
+ nomChar[i] = buffer.getChar();
+ }
+ structure.nom = new String(nomChar);
+
+ // nupam(NBR) i4 : n° du profil amont de la branche ib
+ buffer = createBuffer(4 * 2);
+ channel.read(buffer);
+ structure.profilAmont = buffer.getInt();
+
+ // nupav(NBR) i4 : n° du profil aval de la branche ib
+ structure.profilAval = buffer.getInt();
+
+ return structure;
+
+ }
+
+ /**
+ * Structure qui correspond a un enregistrement d'une profil.
+ *
+ * @author Adrien Hadoux
+ */
+ public static class StructProfil {
+
+ double[] distance;
+ double[] zfonds;
+ String nom;
+
+ }
+
+ /**
+ * Recupere la ligne correspondante a la profil indicePorfil. Attention longueur variable a cause des profils...
+ *
+ * @param indiceBranche
+ * @return
+ * @throws IOException
+ */
+ public synchronized StructProfil getValuesProfils(final int indiceProfil) throws IOException {
+ createChannel();
+ if (!channel.isOpen()) { return null; }
+
+ StructProfil structure = new StructProfil();
+
+ // -- position de la position voulue --//
+ long position = indicePostionHelperForProfil + indiceProfil;
+
+ channel.position(position);
+
+ // write(ifi2) (tit(ipro),sngl(dist(ipro)),zfond(nuprfl(ipro)), ipro,ipro=1,iprm)
+
+ // tit(NBPRO) c8 : noms des profils
+ ByteBuffer buffer = createBuffer(8);
+ channel.read(buffer);
+ char[] nomChar = new char[8];
+ for (int i = 0; i < 8; i++) {
+ nomChar[i] = buffer.getChar();
+ }
+ structure.nom = new String(nomChar);
+
+ // dist(NBPRO) r4 : distance entre les profils ipro-1 et ipro.
+ // attention sngl transforme en reel donc 4
+
+ // zfond r4 : cote du fond du profil fluvial
+
+ // on cree le buffer pour les zfond et dist pour iprm=nbProfils elements
+ buffer = createBuffer((4 + 4) * nbProfilsModele);
+
+ structure.distance = new double[nbProfilsModele];
+ structure.zfonds = new double[nbProfilsModele];
+
+ for (int i = 0; i < nbProfilsModele; i++) {
+ structure.distance[i] = buffer.getFloat();
+ structure.zfonds[i] = buffer.getFloat();
+ }
+ return structure;
+ }
+
+ /**
+ * Structure qui correspond a un enregistrement d'une noeud.
+ *
+ * @author Adrien Hadoux
+ */
+ public static class StructNoeuds {
+
+ int[] numPro;
+ String[] noms;
+
+ }
+
+ /**
+ * Recupere la ligne correspondante a la noeuds indiceNoeud. Attention longueur variable a cause des profils...
+ *
+ * @param indiceBranche
+ * @return
+ * @throws IOException
+ */
+ public synchronized StructNoeuds getValuesNoeuds(final int indiceProfil) throws IOException {
+ createChannel();
+ if (!channel.isOpen()) { return null; }
+
+ StructNoeuds structure = new StructNoeuds();
+
+ // -- position de la position voulue --//
+ long position = indicePostionHelperForNoeuds + indiceProfil;
+
+ channel.position(position);
+ // write(ifi2) nbpoin,(nompoi(ip),nupro(ip),ip=1,nbpoin)
+
+ structure.noms = new String[nbNoeuds];
+ structure.numPro = new int[nbNoeuds];
+
+ for (int k = 0; k < nbNoeuds; k++) {
+ // nompar nom noeud sur 8 octets
+ ByteBuffer buffer = createBuffer(8);
+ channel.read(buffer);
+ char[] nomChar = new char[8];
+ for (int i = 0; i < 8; i++) {
+ nomChar[i] = buffer.getChar();
+ }
+ structure.noms[k] = new String(nomChar);
+
+ // nupro(NBPMAX) i4 : n° d un des deux profils associes au noeud ip
+
+ buffer = createBuffer(4);
+ channel.read(buffer);
+ structure.numPro[k] = buffer.getInt();
+ }
+
+ return structure;
+ }
+
+ public static class StructRegulation {
+
+ double[] numPro;
+
+ double pdt;
+ }
+
+ /**
+ * @param pdt
+ * @return
+ * @throws IOException
+ */
+ public synchronized StructRegulation getValuesRegulation(final int pdt) throws IOException {
+
+ createChannel();
+ if (!channel.isOpen()) { return null; }
+ // on recupere la position de l'indice du pdt
+ long pos = tableauIndicesPdtRegul.get(pdt);
+ if (pos == -1) { return null; }
+ StructRegulation structure = new StructRegulation();
+ channel.position(pos);
+
+ // on est a la position du nom du pdt et les 2 valeurs en + a lire
+ // write(9) test,sngl(t)
+ // write(9) (para(i),i=1,npar)
+
+ ByteBuffer buffer = createBuffer(4);
+ channel.read(buffer);
+ structure.pdt = buffer.getFloat();
+
+ // para(npar) r4 : paramètres de régulation
+ buffer = createBuffer(4 * nbParamsRegulation);
+ structure.numPro = new double[nbParamsRegulation];
+ for (int i = 0; i < nbParamsRegulation; i++) {
+ structure.numPro[i] = buffer.getFloat();
+ }
+
+ return structure;
+ }
+
+ /**
+ * @param pdt
+ * @return
+ * @throws IOException
+ */
+ public synchronized double getValuesCRUE(final int pdt) throws IOException {
+
+ createChannel();
+ if (!channel.isOpen()) { return 0; }
+ // on recupere la position de l'indice du pdt
+
+ long pos = tableauIndicesPdtCrue.get(pdt);
+ if (pos == -1) { return 0; }
+ channel.position(pos);
+
+ // TODO Carole a terminer
+
+ return 0;
+ }
+}
Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties 2009-05-18 09:30:07 UTC (rev 4785)
+++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties 2009-05-18 16:18:39 UTC (rev 4786)
@@ -4,4 +4,10 @@
error.validationModele.noeudNonAffectes = Erreur, il existe des noeuds isoles: {noeuds}
error.validationModele.noeudAmontManquant= Erreur, il manque un noeud amont pour la branche {branche}
error.validationModele.noeudAvalManquant= Erreur, il manque un noeud aval pour la branche {branche}
-
+error.scenario.empty= Il n'existe pas de sc\xE9nario courant ou de donn\xE9es EMH charg\xE9es...
+ihm.error.modele.empty=Il n'existe pas de mod\xE8les pour le fichier etude charg\xE9
+ihm.error.comparaison.scenario1=Erreur, il faut au moins 2 sc\xE9narios disponibles dans l'\xE9tude.
+ihm.error.comparaison.scenario2=Erreur, aucun sc\xE9nario 1 s\xE9lectionn\xE9
+ihm.error.comparaison.scenario3=Erreur, aucun sc\xE9nario 2 s\xE9lectionn\xE9
+ihm.error.comparaison.scenario4=Erreur, il faut s\xE9lectionner 2 sc\xE9narios diff\xE9rents.
+ihm.error.sousmodele.empty=Pas de sous mod\xE8les d\xE9finis pour ce mod\xE8le
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-18 09:30:07 UTC (rev 4785)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-18 16:18:39 UTC (rev 4786)
@@ -337,7 +337,7 @@
*/
public void addEMHViewFille() {
if (crueProjet_.getProject().getScenarioCourant() == null || crueProjet_.getDataSources() == null) {
- message(FCrueResource.getS("Il n'existe pas de scénario courant ou de données EMH chargées..."));
+ message("error.scenario.empty");
return;
}
@@ -359,7 +359,7 @@
if (crueProjet_.getProject().getListeModeles() == null
|| crueProjet_.getProject().getListeModeles().getListeModeles() == null
|| crueProjet_.getProject().getListeModeles().getListeModeles().size() == 0) {
- message(FCrueResource.getS("Il n'existe pas de modèles pour le fichier etude chargé"));
+ message(FCrueResource.getS("ihm.error.modele.empty"));
return;
}
@@ -441,8 +441,7 @@
// this.addInternalFrame(inframe);
} else if (action.equals("GESTIONCOMPARAISON")) {
if (crueProjet_.getProject().getListeScenarios().size() < 2) {
- crueProjet_.getImpl().error(
- FCrueResource.getS("Erreur, il faut au moins 2 scénarios disponibles dans l'étude."));
+ crueProjet_.getImpl().error(FCrueResource.getS("ihm.error.comparaison.scenario1"));
} else {
this.addInternalFrame(new CrueFilleComparaisonScenario(crueProjet_));
}
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheModeleFille.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheModeleFille.java 2009-05-18 09:30:07 UTC (rev 4785)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheModeleFille.java 2009-05-18 16:18:39 UTC (rev 4786)
@@ -97,7 +97,7 @@
} else {
listeSousModeles.setModel(new DefaultListModel());
revalidate();
- projet.getImpl().message(FCrueResource.getS("Pas de sous modèles définis pour ce modèle"));
+ projet.getImpl().message(FCrueResource.getS("ihm.error.sousmodele.empty"));
}
}
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleComparaisonScenario.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleComparaisonScenario.java 2009-05-18 09:30:07 UTC (rev 4785)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleComparaisonScenario.java 2009-05-18 16:18:39 UTC (rev 4786)
@@ -92,13 +92,13 @@
EMHScenario scenario2 = getSelectedScenario(ListeFiles2);
projet.getManagerError().clear();
if (scenario1 == null) {
- projet.getImpl().error(FCrueResource.getS("Erreur, aucun scénario 1 sélectionné"));
+ projet.getImpl().error(FCrueResource.getS("ihm.error.comparaison.scenario2"));
} else if (scenario2 == null) {
- projet.getImpl().error(FCrueResource.getS("Erreur, aucun scénario 2 sélectionné"));
+ projet.getImpl().error(FCrueResource.getS("ihm.error.comparaison.scenario3"));
}
if (scenario1 == scenario2) {
- projet.getImpl().error(FCrueResource.getS("Erreur, il faut sélectionner 2 scénarios différents."));
+ projet.getImpl().error(FCrueResource.getS("ihm.error.comparaison.scenario4"));
}
// TODO Carole: continuer la comparaison de scenario.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|