|
From: <had...@us...> - 2009-05-29 18:26:33
|
Revision: 4822
http://fudaa.svn.sourceforge.net/fudaa/?rev=4822&view=rev
Author: hadouxad
Date: 2009-05-29 18:26:31 +0000 (Fri, 29 May 2009)
Log Message:
-----------
- IHM modifi?\195?\169es
- OPTI g?\195?\169r?\195?\169
- revue des logs fudaa
- correction gestion des crue data au niveau des scenarios, modeles et sous modeles
Modified Paths:
--------------
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdPrtCIniModeleBase.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParam.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamBooleen.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamDouble.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamEntier.java
trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-opti-1.0.0.xsd
trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/MockCrueData.java
trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.opti.xml
trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3-2.opti.xml
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/explorer/CrueLauncher.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.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/CrueErrorManager.java
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/CrueFilleScenarioManager.java
Added Paths:
-----------
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoOPTI.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueEnumDico.java
trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOPTIFile.java
trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3.opti.xml
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/logocrue.png
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -88,6 +88,7 @@
}
public boolean write(final CrueIOResu<CrueData> metier, final File f, final CtuluAnalyze analyzer) {
+ analyzer.setDesc(f.getName());
final AbstractCrue9Writer writer = createWriter();
writer.setFile(f);
final CtuluIOOperationSynthese operation = writer.write(metier);
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -2,10 +2,62 @@
import java.util.List;
-import org.fudaa.dodico.crue.io.dao.*;
+import org.fudaa.dodico.crue.io.dao.CrueConverterDCLM;
+import org.fudaa.dodico.crue.io.dao.CrueConverterDCSP;
+import org.fudaa.dodico.crue.io.dao.CrueConverterDFRT;
+import org.fudaa.dodico.crue.io.dao.CrueConverterDLHY;
+import org.fudaa.dodico.crue.io.dao.CrueConverterDPTG;
+import org.fudaa.dodico.crue.io.dao.CrueConverterDPTI;
+import org.fudaa.dodico.crue.io.dao.CrueConverterDRSO;
+import org.fudaa.dodico.crue.io.dao.CrueConverterETU;
+import org.fudaa.dodico.crue.io.dao.CrueConverterOCAL;
+import org.fudaa.dodico.crue.io.dao.CrueConverterOPTG;
+import org.fudaa.dodico.crue.io.dao.CrueConverterOPTI;
+import org.fudaa.dodico.crue.io.dao.CrueConverterORES;
+import org.fudaa.dodico.crue.io.dao.CrueConverterPCAL;
+import org.fudaa.dodico.crue.io.dao.CrueConverterPNUM;
+import org.fudaa.dodico.crue.io.dao.CrueDaoDCLM;
+import org.fudaa.dodico.crue.io.dao.CrueDaoDCSP;
+import org.fudaa.dodico.crue.io.dao.CrueDaoDFRT;
+import org.fudaa.dodico.crue.io.dao.CrueDaoDLHY;
+import org.fudaa.dodico.crue.io.dao.CrueDaoDPTG;
+import org.fudaa.dodico.crue.io.dao.CrueDaoDPTI;
+import org.fudaa.dodico.crue.io.dao.CrueDaoDRSO;
+import org.fudaa.dodico.crue.io.dao.CrueDaoETU;
+import org.fudaa.dodico.crue.io.dao.CrueDaoOCAL;
+import org.fudaa.dodico.crue.io.dao.CrueDaoOPTG;
+import org.fudaa.dodico.crue.io.dao.CrueDaoOPTI;
+import org.fudaa.dodico.crue.io.dao.CrueDaoORES;
+import org.fudaa.dodico.crue.io.dao.CrueDaoPCAL;
+import org.fudaa.dodico.crue.io.dao.CrueDaoPNUM;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCLM;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDFRT;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDLHY;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTG;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDRSO;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureETU;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOCAL;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTG;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTI;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureORES;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructurePCAL;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructurePNUM;
+import org.fudaa.dodico.crue.io.dao.CrueHelper;
+import org.fudaa.dodico.crue.io.dao.CrueXmlReaderWriterImpl;
import org.fudaa.dodico.crue.metier.CrueData;
import org.fudaa.dodico.crue.metier.EMHproject;
-import org.fudaa.dodico.crue.metier.emh.*;
+import org.fudaa.dodico.crue.metier.emh.AbstractLoi;
+import org.fudaa.dodico.crue.metier.emh.DonCLimMScenario;
+import org.fudaa.dodico.crue.metier.emh.DonFrt;
+import org.fudaa.dodico.crue.metier.emh.EMH;
+import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario;
+import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase;
+import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase;
+import org.fudaa.dodico.crue.metier.emh.OrdResScenario;
+import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario;
+import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase;
/**
* Gere la lecture du format crue 10 Utilise du parsing xml
@@ -66,6 +118,10 @@
new CrueXmlReaderWriterImpl<CrueDaoPNUM, ParamNumModeleBase>(CrueHelper.PNUM, new CrueConverterPNUM(),
new CrueDaoStructurePNUM()));
+ private final static Crue10FileFormat<OrdPrtCIniModeleBase> OPTI = new Crue10FileFormat<OrdPrtCIniModeleBase>(
+ new CrueXmlReaderWriterImpl<CrueDaoOPTI, OrdPrtCIniModeleBase>(CrueHelper.OPTI, new CrueConverterOPTI(),
+ new CrueDaoStructureOPTI()));
+
static {
Crue10FileFormatFactory.DRSO.setIndependant(true);
ETU.setIndependant(true);
@@ -150,6 +206,13 @@
}
/**
+ * @return OPTI : objet CrueFileFormat qui contient le DAO et le métier de OPTI
+ */
+ public static Crue10FileFormat<OrdPrtCIniModeleBase> getOPTIFileFormat() {
+ return OPTI;
+ }
+
+ /**
* @return PCAL : objet CrueFileFormat qui contient le DAO et le métier de PCAL
*/
public static Crue10FileFormat<ParamCalcScenario> getPCALFileFormat() {
Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java (rev 0)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -0,0 +1,84 @@
+package org.fudaa.dodico.crue.io.dao;
+
+import java.util.Iterator;
+
+import org.fudaa.ctulu.CtuluAnalyze;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTI.InterpolLineaire;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTI.InterpolSaintVenant;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTI.MethodesInterpolations;
+import org.fudaa.dodico.crue.metier.CrueData;
+import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase;
+import org.fudaa.dodico.crue.metier.emh.ValParam;
+import org.fudaa.dodico.crue.metier.emh.ValParamDouble;
+
+/**
+ * Creation des objets methodes interpolations
+ *
+ * @author Adrien Hadoux
+ */
+public class CrueConverterOPTI implements CrueConverter<CrueDaoOPTI, OrdPrtCIniModeleBase> {
+
+ public OrdPrtCIniModeleBase convertDaoToMetier(CrueDaoOPTI dao, CrueData dataLinked, CtuluAnalyze analyser) {
+ /**
+ * NB Adrien:pour le moment on ne gère qu'un seul élément, liste en backup.
+ */
+ OrdPrtCIniModeleBase metier = new OrdPrtCIniModeleBase();
+ if (dao.getListeInterpol() != null) {
+ for (MethodesInterpolations interpol : dao.getListeInterpol()) {
+
+ // -- ajout de l'enum --//
+ metier.setMethodeInterpol(interpol.getType());
+
+ // -- switch sur l'enum --//
+ switch (interpol.getType()) {
+ case InterpolLineaire:
+ // -- on ne fait rien --//
+ break;
+
+ case InterpolSaintVenant:
+ // -- on recupere le double --//
+ metier.addValParam(new ValParamDouble("SeuilDetect", interpol.getSeuilDetect()));
+ break;
+
+ }
+
+ }
+
+ }
+
+ return metier;
+ }
+
+ public CrueDaoOPTI convertMetierToDao(OrdPrtCIniModeleBase metier, CtuluAnalyze analyser) {
+
+ CrueDaoOPTI dao = new CrueDaoOPTI();
+
+ if (metier == null) { return dao; }
+
+ MethodesInterpolations methode = null;
+
+ switch (metier.getMethodeInterpol()) {
+ case InterpolLineaire:
+ // -- on ne fait rien --//
+ methode = new InterpolLineaire();
+
+ break;
+
+ case InterpolSaintVenant:
+ methode = new InterpolSaintVenant(0);
+ // -- on recupere le double --//
+ for (Iterator it = metier.getIteratorValParam(); it.hasNext();) {
+ ValParam param = (ValParam) it.next();
+ if (param instanceof ValParamDouble) {
+ methode.setSeuilDetect(((ValParamDouble) param).valeur);
+ }
+ }
+
+ break;
+
+ }
+ dao.MethodeInterpol.add(methode);
+
+ return dao;
+ }
+}
Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoOPTI.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoOPTI.java (rev 0)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoOPTI.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -0,0 +1,37 @@
+package org.fudaa.dodico.crue.io.dao;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTI.MethodesInterpolations;
+
+/**
+ * Représentation persistante du fichier xml OPTI (Fichier des ordres pour le prétraitement des conditions initiales
+ * (xml)).
+ *
+ * @author Adrien Hadoux
+ */
+@SuppressWarnings("PMD.VariableNamingConventions")
+public class CrueDaoOPTI extends AbstractCrueDao {
+
+ public CrueDaoOPTI() {
+ MethodeInterpol = new ArrayList<MethodesInterpolations>();
+ }
+
+ /**
+ * Choix d'une interpolation.
+ *
+ * @NB Adrien: Ici la structure est une liste ce n'est pas nécessaire pour l'état actuel du fichier. car il y a juste
+ * une interpolation. Mais il vaut mieux anticiper une éventuelle modif du fichier.
+ */
+ public List<MethodesInterpolations> MethodeInterpol;
+
+ public List<MethodesInterpolations> getListeInterpol() {
+ return MethodeInterpol;
+ }
+
+ public void setListeInterpol(List<MethodesInterpolations> listeInterpol) {
+ this.MethodeInterpol = listeInterpol;
+ }
+
+}
Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java (rev 0)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -0,0 +1,84 @@
+package org.fudaa.dodico.crue.io.dao;
+
+import org.fudaa.ctulu.CtuluAnalyze;
+
+import com.thoughtworks.xstream.XStream;
+
+/**
+ * Structures de CrueDaoOPTI.
+ *
+ * @author Adrien Hadoux
+ */
+@SuppressWarnings("PMD.VariableNamingConventions")
+public class CrueDaoStructureOPTI implements CrueDaoStructure {
+
+ public void configureXStream(XStream xstream, CtuluAnalyze analyze) {
+ xstream.alias(CrueHelper.OPTI, CrueDaoOPTI.class);
+ // xstream.addImplicitCollection(CrueDaoOPTI.class, "listeInterpol");
+ xstream.alias("InterpolLineaire", InterpolLineaire.class);
+ xstream.alias("InterpolSaintVenant", InterpolSaintVenant.class);
+ }
+
+ /**
+ * methode interpolation
+ *
+ * @author Adrien Hadoux
+ */
+ public static interface MethodesInterpolations {
+ /**
+ * retoourne le type de la methode
+ *
+ * @return
+ */
+ public CrueEnumDico.InterpolationsOPTI getType();
+
+ public double getSeuilDetect();
+
+ public void setSeuilDetect(double s);
+
+ }
+
+ /**
+ * methode InterpolLineaire
+ *
+ * @author Adrien Hadoux
+ */
+ public static class InterpolLineaire implements MethodesInterpolations {
+ public CrueEnumDico.InterpolationsOPTI getType() {
+ return CrueEnumDico.InterpolationsOPTI.InterpolLineaire;
+ }
+
+ public double getSeuilDetect() {
+ return 0;
+ }
+
+ public void setSeuilDetect(double s) {}
+ }
+
+ /**
+ * methode InterpolSaintVenant
+ *
+ * @author Adrien Hadoux
+ */
+ public static class InterpolSaintVenant implements MethodesInterpolations {
+ double SeuilDetect;
+
+ public CrueEnumDico.InterpolationsOPTI getType() {
+ return CrueEnumDico.InterpolationsOPTI.InterpolSaintVenant;
+ }
+
+ public double getSeuilDetect() {
+ return SeuilDetect;
+ }
+
+ public void setSeuilDetect(double s) {
+ SeuilDetect = s;
+ }
+
+ public InterpolSaintVenant(double seuilDetect) {
+ super();
+ SeuilDetect = seuilDetect;
+ }
+ }
+
+}
Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueEnumDico.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueEnumDico.java (rev 0)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueEnumDico.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -0,0 +1,19 @@
+package org.fudaa.dodico.crue.io.dao;
+
+/**
+ * Gère les énumérations des données coté Fudaa
+ *
+ * @author Adrien Hadoux
+ */
+public class CrueEnumDico {
+
+ /**
+ * Enumeration des methodes d'interpolations pour OPTI.
+ *
+ * @author Adrien Hadoux
+ */
+ public static enum InterpolationsOPTI {
+ InterpolLineaire, InterpolSaintVenant
+ }
+
+}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -339,6 +339,7 @@
* @return
*/
public final boolean writeXML(final M metier, final File f, final CtuluAnalyze analyzer) {
+ analyzer.setDesc(f.getName());
analyzer.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE);
final D d = converter.convertMetierToDao(metier, analyzer);
if (d != null) {
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -16,6 +16,7 @@
import org.fudaa.dodico.crue.metier.emh.DonFrt;
import org.fudaa.dodico.crue.metier.emh.EMH;
import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario;
+import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase;
import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase;
import org.fudaa.dodico.crue.metier.emh.OrdResScenario;
import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario;
@@ -174,4 +175,14 @@
*/
public boolean mergeWithAnotherCrueData(CrueData data);
+ /**
+ * @return setter sur les methodes d'interpolation OPTI
+ */
+ public OrdPrtCIniModeleBase getMethodesInterpolation();
+
+ /**
+ * @return getter sur les methodes d'interpolation OPTI
+ */
+ public void setMethodesInterpolation(OrdPrtCIniModeleBase methodesInterpolation);
+
}
\ No newline at end of file
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -16,6 +16,7 @@
import org.fudaa.dodico.crue.metier.emh.EvolutionFF;
import org.fudaa.dodico.crue.metier.emh.LoiFF;
import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario;
+import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase;
import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase;
import org.fudaa.dodico.crue.metier.emh.OrdResScenario;
import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario;
@@ -115,6 +116,11 @@
List<CatEMHSection> sections;
/**
+ * Données OPTI
+ */
+ OrdPrtCIniModeleBase methodesInterpolation;
+
+ /**
* Données STO
*/
STOSequentialReader sto;
@@ -435,4 +441,12 @@
this.rptg = rptg;
}
+ public OrdPrtCIniModeleBase getMethodesInterpolation() {
+ return methodesInterpolation;
+ }
+
+ public void setMethodesInterpolation(OrdPrtCIniModeleBase methodesInterpolation) {
+ this.methodesInterpolation = methodesInterpolation;
+ }
+
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -16,6 +16,11 @@
protected String id_;
/**
+ * Les donnees crueData du scenario .
+ */
+ CrueData dataSources;
+
+ /**
* La liste des sous modeles associ�s au modele. ETU
*/
protected EMHModeleEnchainement listeSousModeles_;
@@ -69,8 +74,10 @@
* @return
*/
public static EMHModeleBase findById(final String nomRef, final List<EMHModeleBase> listeFiles) {
- if (listeFiles != null) for (final EMHModeleBase f : listeFiles) {
- if (f.id_.equals(nomRef)) return f;
+ if (listeFiles != null) {
+ for (final EMHModeleBase f : listeFiles) {
+ if (f.id_.equals(nomRef)) { return f; }
+ }
}
return null;
}
@@ -82,7 +89,9 @@
* @return
*/
public boolean addFichierDonneesToModele(final FichierCrue fichier) {
- if (listeFichiersModele_ == null) listeFichiersModele_ = new ArrayList<FichierCrue>();
+ if (listeFichiersModele_ == null) {
+ listeFichiersModele_ = new ArrayList<FichierCrue>();
+ }
return listeFichiersModele_.add(fichier);
}
@@ -93,7 +102,9 @@
* @return
*/
public boolean addSousModeleDonneesToModele(final EMHModeleBase sousModele) {
- if (listeSousModeles_ == null) listeSousModeles_ = new EMHModeleEnchainement();
+ if (listeSousModeles_ == null) {
+ listeSousModeles_ = new EMHModeleEnchainement();
+ }
return listeSousModeles_.ajouteModele(sousModele);
}
@@ -105,4 +116,12 @@
this.listeFichiersModele_ = listeFichiersCrue;
}
+ public CrueData getDataSources() {
+ return dataSources;
+ }
+
+ public void setDataSources(CrueData dataSources) {
+ this.dataSources = dataSources;
+ }
+
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -17,6 +17,11 @@
EMHModeleEnchainement gestionModele_;
/**
+ * Les donnees crueData du scenario .
+ */
+ CrueData dataSources;
+
+ /**
* la liste des runs associes au sc�nraio.
*/
List<EMHRun> listeRuns_;
@@ -177,4 +182,12 @@
public void setListeRuns(final List<EMHRun> listeRuns) {
this.listeRuns_ = listeRuns;
}
+
+ public CrueData getDataSources() {
+ return dataSources;
+ }
+
+ public void setDataSources(CrueData dataSources) {
+ this.dataSources = dataSources;
+ }
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -10,7 +10,7 @@
public class EMHproject {
/**
- * Infos du projet, contient la base des fichiers de donn\xE9es.
+ * Infos du projet, contient la base des fichiers de donn�es.
*/
EMHProjectInfos baseRessourcesInfos_;
@@ -20,7 +20,7 @@
EMHScenario scenarioCourant;
/**
- * Base des sc\xE9narios disponible pour tout le projet.
+ * Base des sc�narios disponible pour tout le projet.
*/
List<EMHScenario> baseScenarios_;
@@ -30,7 +30,7 @@
EMHModeleEnchainement baseModeles_;
/**
- * base des sous modeles du projet (ces sous modeles sont r\xE9f\xE9renc\xE9s dans les modeles qui les utilisent).
+ * base des sous modeles du projet (ces sous modeles sont r�f�renc�s dans les modeles qui les utilisent).
*/
EMHModeleEnchainement baseSousModeles_;
@@ -70,6 +70,19 @@
return scenarioCourant;
}
+ /**
+ * Methode tres importante; c'est elle qui retourne les crue data générales du scénario courant. En effet, ces crue
+ * data sont globale au scenario, elles contiennet donc la concaténation des crue data de chaque entité fille:
+ * modeles, sous modeles.
+ *
+ * @author Adrien hadoux
+ * @return
+ */
+ public CrueData getCrueDataFromScenarioCourant() {
+ if (getScenarioCourant() != null) { return getScenarioCourant().getDataSources(); }
+ return null;
+ }
+
public void setScenarioCourant(final EMHScenario scenarioCourant) {
this.scenarioCourant = scenarioCourant;
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -4,8 +4,8 @@
import java.util.List;
/**
- * Gere les fichiers Crue d\xE9finis dans le fichier xml ETU. un fichier est d\xE9fini par: son id unique son type le chemin
- * vers ce fichier. Sert de base de recherche pour lancer \xE0 la demande les diff\xE9rents sc\xE9narios.
+ * Gere les fichiers Crue d�finis dans le fichier xml ETU. un fichier est d�fini par: son id unique son type le chemin
+ * vers ce fichier. Sert de base de recherche pour lancer � la demande les diff�rents sc�narios.
*
* @author Adrien Hadoux
*/
@@ -34,7 +34,7 @@
public File getFichier() {
if (path_ != null) {
final File fichier = new File(path_);
- if (fichier.exists()) return fichier;
+ /* if (fichier.exists()) */return fichier;
}
return null;
}
@@ -47,8 +47,10 @@
* @return
*/
public static FichierCrue findById(final String nomRef, final List<FichierCrue> listeFiles) {
- if (listeFiles != null) for (final FichierCrue f : listeFiles) {
- if (f.id_.equals(nomRef)) return f;
+ if (listeFiles != null) {
+ for (final FichierCrue f : listeFiles) {
+ if (f.id_.equals(nomRef)) { return f; }
+ }
}
return null;
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdPrtCIniModeleBase.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdPrtCIniModeleBase.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdPrtCIniModeleBase.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -6,10 +6,12 @@
package org.fudaa.dodico.crue.metier.emh;
+import org.fudaa.dodico.crue.io.dao.CrueEnumDico;
+
/** @pdOid a637504e-9e1b-4a87-8327-92ea3b3fa1ea */
public class OrdPrtCIniModeleBase implements InfosEMH {
/** @pdOid 404a2a65-177d-47c5-8a9b-37ce33aae566 */
- public byte methodeInterpol;
+ public CrueEnumDico.InterpolationsOPTI methodeInterpol;
/**
* @pdRoleInfo migr=no name=ValParam assc=association112 coll=java.util.Collection impl=java.util.HashSet mult=0..*
@@ -78,4 +80,12 @@
}
}
+ public CrueEnumDico.InterpolationsOPTI getMethodeInterpol() {
+ return methodeInterpol;
+ }
+
+ public void setMethodeInterpol(CrueEnumDico.InterpolationsOPTI methodeInterpol) {
+ this.methodeInterpol = methodeInterpol;
+ }
+
}
\ No newline at end of file
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParam.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParam.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParam.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -11,4 +11,9 @@
/** @pdOid 6f0ce4aa-3299-48c8-b1d1-8f9126593468 */
public String nom;
+ public ValParam(String nom) {
+ super();
+ this.nom = nom;
+ }
+
}
\ No newline at end of file
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamBooleen.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamBooleen.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamBooleen.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -11,4 +11,9 @@
/** @pdOid 828ac7ca-131c-4d6f-94bb-f753f015ab7c */
public boolean valeur;
+ public ValParamBooleen(String nom, boolean valeur) {
+ super(nom);
+ this.valeur = valeur;
+ }
+
}
\ No newline at end of file
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamDouble.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamDouble.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamDouble.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -11,4 +11,9 @@
/** @pdOid 03367cd0-b53c-4e0a-97d1-abfc61d5d93e */
public Double valeur;
+ public ValParamDouble(String nom, Double valeur) {
+ super(nom);
+ this.valeur = valeur;
+ }
+
}
\ No newline at end of file
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamEntier.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamEntier.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamEntier.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -11,4 +11,9 @@
/** @pdOid 6de589b5-7fb1-47f9-9a1e-4b8755392752 */
public int valeur;
+ public ValParamEntier(String nom, int valeur) {
+ super(nom);
+ this.valeur = valeur;
+ }
+
}
\ No newline at end of file
Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-opti-1.0.0.xsd
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-opti-1.0.0.xsd 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-opti-1.0.0.xsd 2009-05-29 18:26:31 UTC (rev 4822)
@@ -12,24 +12,29 @@
</xs:documentation>
</xs:annotation>
+ <xs:complexType name="TypeInterpolSaintVenant">
+ <xs:sequence>
+ <xs:element name="SeuilDetect" type="xs:double" />
+ </xs:sequence>
+ </xs:complexType>
+
- <xs:element name="OPTI">
+
+ <xs:complexType name="TypeMethodeInterpol">
+ <xs:choice>
+ <xs:element name="InterpolLineaire" type="TypeEmpty" minOccurs="0" />
+ <xs:element name="InterpolSaintVenant" type="TypeInterpolSaintVenant" minOccurs="0" />
+ </xs:choice>
+ </xs:complexType>
+
+<xs:element name="OPTI">
<xs:complexType>
- <xs:sequence>
- <xs:element ref="Commentaire" minOccurs="0" />
- <xs:element name="MethodeInterpol" minOccurs="0">
- <xs:complexType>
- <xs:choice>
- <xs:element name="InterpolLineaire" type="TypeEmpty"
- minOccurs="0" />
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="CotesAuxSections" type="TypeEmpty"
- minOccurs="0" />
- </xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="Commentaire" />
+ <xs:element name="MethodeInterpol" type="TypeMethodeInterpol" />
+ </xs:choice>
</xs:complexType>
+
</xs:element>
-
</xs:schema>
\ No newline at end of file
Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/MockCrueData.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/MockCrueData.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/MockCrueData.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -22,6 +22,7 @@
import org.fudaa.dodico.crue.metier.emh.EMHCasierMNT;
import org.fudaa.dodico.crue.metier.emh.EMHNoeudNiveauContinu;
import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario;
+import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase;
import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase;
import org.fudaa.dodico.crue.metier.emh.OrdResScenario;
import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario;
@@ -193,4 +194,14 @@
public void setRptg(final List<ResPrtGeo> rptg) {}
+ public OrdPrtCIniModeleBase getMethodesInterpolation() {
+ // FIXME Auto-generated method stub
+ return null;
+ }
+
+ public void setMethodesInterpolation(OrdPrtCIniModeleBase methodesInterpolation) {
+ // FIXME Auto-generated method stub
+
+ }
+
}
Added: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOPTIFile.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOPTIFile.java (rev 0)
+++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOPTIFile.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -0,0 +1,60 @@
+package org.fudaa.dodico.crue.io;
+
+import java.io.File;
+
+import org.fudaa.ctulu.CtuluAnalyze;
+import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase;
+
+/**
+ * test unitaires pour les opti.
+ *
+ * @author Adrien Hadoux
+ */
+public class TestCrueOPTIFile extends AbstractIOTestCase {
+
+ /**
+ *
+ */
+ protected static final String FICHIER_TEST_MODELE3_OPTI_XML = "/fichierTest/Modele3.opti.xml";
+
+ /**
+ *
+ */
+ public TestCrueOPTIFile() {
+ super(Crue10FileFormatFactory.getOPTIFileFormat(), FICHIER_TEST_MODELE3_OPTI_XML);
+ }
+
+ public void testLecture() {
+
+ final OrdPrtCIniModeleBase data = readModele3();
+ testDataModele3(data);
+
+ }
+
+ public static OrdPrtCIniModeleBase readModele3() {
+ final CtuluAnalyze analyzer = new CtuluAnalyze();
+ final OrdPrtCIniModeleBase data = Crue10FileFormatFactory.getOPTIFileFormat().read(FICHIER_TEST_MODELE3_OPTI_XML,
+ analyzer, null);
+ analyzer.printResume();
+ return data;
+ }
+
+ private void testDataModele3(final OrdPrtCIniModeleBase data) {
+ assertNotNull(data);
+
+ }
+
+ public void testEcriture() {
+ final CtuluAnalyze analyzer = new CtuluAnalyze();
+ final File f = createTempFile();
+ final boolean res = Crue10FileFormatFactory.getOPTIFileFormat().write(readModele3(), f, analyzer);
+ // System.out.println(f);
+ analyzer.printResume();
+ assertFalse(analyzer.containsErrors());
+ final OrdPrtCIniModeleBase read = Crue10FileFormatFactory.getOPTIFileFormat().read(FICHIER_TEST_MODELE3_OPTI_XML,
+ analyzer, null);
+ testDataModele3(read);
+
+ }
+
+}
Modified: trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.opti.xml
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.opti.xml 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.opti.xml 2009-05-29 18:26:31 UTC (rev 4822)
@@ -1,18 +1,14 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
<OPTI xmlns="http://www.fudaa.fr/xsd/crue" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.fudaa.fr/xsd/crue http://www.fudaa.fr/xsd/crue/opti-1.0.0.xsd">
- <!--
- Le fichier OPTI rassemble les ordres de prétraitement des conditions
- initiales à appliquer sur un modèle CrueX. Son périmètre est le modèle
- -->
- <Commentaire>Commentaire sur le modèle</Commentaire>
+ <!-- Le fichier OPTI rassemble les ordres de prétraitement des conditions initiales à appliquer sur un modèle CrueX. Son périmètre est le modèle -->
+ <Commentaire>Commentaire sur le modèle</Commentaire>
- <MethodeInterpol>
- <InterpolLineaire />
- <!--
- ou une interpolation des niveaux par calcul de la courbe de remous en
- permanent (iLE=2) <InterpolSaintVenant>
- <SeuilDetect>0.01</SeuilDetect> </InterpolSaintVenant>
- -->
- </MethodeInterpol>
+ <MethodeInterpol>
+ <!-- <InterpolLineaire/> -->
+ <!-- ou, si DH.iLE=2, une interpolation des cotes par calcul de la courbe de remous en permanent -->
+ <InterpolSaintVenant>
+ <SeuilDetect>0.01</SeuilDetect>
+ </InterpolSaintVenant>
+ </MethodeInterpol>
</OPTI>
\ No newline at end of file
Modified: trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3-2.opti.xml
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3-2.opti.xml 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3-2.opti.xml 2009-05-29 18:26:31 UTC (rev 4822)
@@ -1,15 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<OPTI xmlns="http://www.fudaa.fr/xsd/crue" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.fudaa.fr/xsd/crue http://www.fudaa.fr/xsd/crue/opti-1.0.xsd">
- <!--
- Le fichier OPTI rassemble les ordres de prétraitement des conditions
- initiales à appliquer sur un modèle CrueX. Son périmètre est le modèle
- -->
- <!--
- Révision 0 le 24/03/2009 par PBa : écriture du fichier à la main
- -->
- <VersionCrue>0.0</VersionCrue> <!-- Version du moteur Crue10 minimale requise -->
- <Commentaire>Commentaire sur le modèle</Commentaire>
+<OPTI xmlns="http://www.fudaa.fr/xsd/crue" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.fudaa.fr/xsd/crue http://www.fudaa.fr/xsd/crue/opti-1.0.xsd">
+ <!-- Le fichier OPTI rassemble les ordres de prétraitement des conditions initiales à appliquer sur un modèle CrueX. Son périmètre est le modèle -->
+ <Commentaire>Commentaire sur le modèle</Commentaire>
- <CotesAuxSections />
+ <CotesAuxSections/>
</OPTI>
\ No newline at end of file
Added: trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3.opti.xml
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3.opti.xml (rev 0)
+++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3.opti.xml 2009-05-29 18:26:31 UTC (rev 4822)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<OPTI xmlns="http://www.fudaa.fr/xsd/crue" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.fudaa.fr/xsd/crue http://www.fudaa.fr/xsd/crue/opti-1.0.xsd">
+ <!-- Le fichier OPTI rassemble les ordres de prétraitement des conditions initiales à appliquer sur un modèle CrueX. Son périmètre est le modèle -->
+ <Commentaire>Commentaire sur le modèle</Commentaire>
+
+ <MethodeInterpol>
+ <InterpolLineaire/>
+ <!-- ou, si DH.iLE=2, une interpolation des cotes par calcul de la courbe de remous en permanent
+ <InterpolSaintVenant>
+ <SeuilDetect>0.01</SeuilDetect>
+ </InterpolSaintVenant> -->
+ </MethodeInterpol>
+</OPTI>
\ No newline at end of file
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-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -336,7 +336,8 @@
*
*/
public void addEMHViewFille() {
- if (crueProjet_.getProject().getScenarioCourant() == null || crueProjet_.getDataSources() == null) {
+ if (crueProjet_.getProject().getScenarioCourant() == null
+ || crueProjet_.getProject().getScenarioCourant().getDataSources() == null) {
message("error.scenario.empty");
return;
@@ -396,6 +397,7 @@
else
if (action.equals("ENREGISTRERSCENARIOS")) {
+ crueProjet_.getManagerError().clear();
ScenarioSaver saver = new ScenarioSaver(crueProjet_.getProject().getScenarioCourant(), crueProjet_);
saver.saveWithScenarioType();
crueProjet_.getManagerError().showDialog(this, FCrueResource.getS("Enregistrement"));
@@ -422,7 +424,7 @@
EMHproject res = crueProjet_.readProject(f);
crueProjet_.setProject(res);
// -- reinitialisation des sources de données --//
- crueProjet_.setDataSources(null);
+ // crueProjet_.setDataSources(null);
}
}
@@ -430,7 +432,7 @@
} else if (action.equals("FERMERETUDE")) {
if (question(FCrueResource.getS("Confirmation"), FCrueResource.getS("Voulez-vous fermet l'étude courante?"))) {
crueProjet_.setProject(null);
- crueProjet_.setDataSources(null);
+ // crueProjet_.setDataSources(null);
}
} else if (action.equals("GESTIONETUDE")) {
addEtudeManagerFille();
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -8,6 +8,7 @@
import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
+import java.net.URL;
import javax.swing.JDialog;
import javax.swing.JOptionPane;
@@ -15,19 +16,25 @@
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
-import com.memoire.bu.*;
-import com.memoire.fu.FuLib;
-import com.memoire.fu.FuLog;
-
import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
import org.fudaa.dodico.crue.io.CrueFileFormatManager;
-import org.fudaa.ebli.ressource.EbliResource;
import org.fudaa.fudaa.commun.FudaaLib;
import org.fudaa.fudaa.commun.impl.Fudaa;
import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation;
import org.fudaa.fudaa.crue.common.CrueCommomImplementation;
import org.fudaa.fudaa.ressource.FudaaResource;
+import com.memoire.bu.BuApplication;
+import com.memoire.bu.BuCommonInterface;
+import com.memoire.bu.BuIcon;
+import com.memoire.bu.BuInformationsSoftware;
+import com.memoire.bu.BuLib;
+import com.memoire.bu.BuPreferences;
+import com.memoire.bu.BuRegistry;
+import com.memoire.bu.BuResource;
+import com.memoire.fu.FuLib;
+import com.memoire.fu.FuLog;
+
/**
* Launcher de crue.
*
@@ -79,11 +86,14 @@
FuLib.setSystemProperty("lnf.menu.needed", "false");
infoCrue_ = new BuInformationsSoftware();
- infoCrue_.banner = EbliResource.EBLI.getIcon("");
- infoCrue_.logo = EbliResource.EBLI.getIcon("");
- infoCrue_.name = "Crue";
+
+ URL pathLogo = CrueLauncher.class.getResource("logocrue.png");
+
+ infoCrue_.banner = new BuIcon(pathLogo);
+ // infoCrue_.logo = new BuIcon(pathLogo);
+ infoCrue_.name = "Fudaa-Crue";
infoCrue_.version = "0.1";
- infoCrue_.date = "01-mars -2009";
+ infoCrue_.date = "01-mai -2009";
infoCrue_.rights = "";
infoCrue_.contact = "a.h...@ge...";
infoCrue_.license = "GPL2";
@@ -91,10 +101,10 @@
infoCrue_.http = "";
infoCrue_.update = "";
infoCrue_.man = "";
- infoCrue_.authors = new String[] { "Fr�d�ric Deniger", "Adrien Hadoux" };
+ infoCrue_.authors = new String[] { "Genesis" };
infoCrue_.contributors = new String[] { "Equipes Dodico, Ebli et Fudaa" };
- infoCrue_.documentors = new String[] { "Fr�d�ric Deniger", "Adrien Hadoux" };
- infoCrue_.testers = new String[] { "Fr�d�ric Deniger", "Adrien Hadoux" };
+ infoCrue_.documentors = new String[] { "" };
+ infoCrue_.testers = new String[] { " " };
// Attention: bien respecter cette ligne tres utile pour javawebstart
infoCrue_.man = "http://fudaa.fr/crue/doc/html/";
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java 2009-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -97,6 +97,7 @@
public CrueSupervisorImplementation() {
super();
+
}
@Override
Added: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/logocrue.png
===================================================================
(Binary files differ)
Property changes on: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/logocrue.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
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-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -5,7 +5,6 @@
import java.util.Observer;
import org.fudaa.dodico.crue.io.Crue10FileFormatFactory;
-import org.fudaa.dodico.crue.metier.CrueData;
import org.fudaa.dodico.crue.metier.EMHproject;
import org.fudaa.fudaa.crue.common.CrueCommomImplementation;
import org.fudaa.fudaa.crue.common.FCrueResource;
@@ -30,11 +29,6 @@
final CrueErrorManager managerError;
/**
- * Les donnees crueData chargees du scenario courant.
- */
- CrueData dataSources;
-
- /**
* Classe de l'observable Crue.
*
* @author Adrien Hadoux
@@ -135,7 +129,7 @@
ScenarioLoader algo = new ScenarioLoader(this, projet.getScenarioCourant());
// -- chargement du projet --//
- dataSources = algo.compute();
+ algo.compute();
}
}
@@ -218,11 +212,4 @@
return fichierEtu_;
}
- public CrueData getDataSources() {
- return dataSources;
- }
-
- public void setDataSources(CrueData dataSources) {
- this.dataSources = dataSources;
- }
}
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-05-29 17:44:31 UTC (rev 4821)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java 2009-05-29 18:26:31 UTC (rev 4822)
@@ -12,7 +12,14 @@
import org.fudaa.dodico.crue.metier.EMHModeleBase;
import org.fudaa.dodico.crue.metier.EMHScenario;
import org.fudaa.dodico.crue.metier.FichierCrue;
-import org.fudaa.dodico.crue.metier.emh.*;
+import org.fudaa.dodico.crue.metier.emh.AbstractLoi;
+import org.fudaa.dodico.crue.metier.emh.DonCLimMScenario;
+import org.fudaa.dodico.crue.metier.emh.DonFrt;
+import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario;
+import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase;
+import org.fudaa.dodico.crue.metier.emh.OrdResScenario;
+import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario;
+import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase;
import org.fudaa.ebli.commun.EbliActionSimple;
import org.fudaa.fudaa.crue.common.CrueCommomImplementation;
import org.fudaa.fudaa.crue.common.FCrueResource;
@@ -69,9 +76,9 @@
+ " " + scenario.getId() + "? Il deviendra le scénario courant.")) {
if (scenario != null) {
ScenarioLoader algo = new ScenarioLoader(projet, scenario);
- operationRes = algo.compute();
+ algo.compute();
- projet.setDataSources(operationRes);
+ // projet.setDataSources(operationRes);
// projet.getImpl().message(FCrueResource.getS(""));
}
@@ -100,7 +107,7 @@
*
* @return
*/
- public CrueData compute() {
+ public void compute() {
projet.managerError.clear();
// -- mise en place du scenario courant --//
projet.getProject().setScenarioCourant(scenario);
@@ -110,14 +117,14 @@
String type = scenario.getInfosVersions().getType().toUpperCase();
if (type.contains("9")) {
- return computeCrue9();
+ computeCrue9();
} else {
- return computeCrue10();
+ computeCrue10();
}
} else {
projet.managerError.getLastAnalyser().addError("io.etu.typeNotDefined");
- return null;
+
}
}
@@ -127,7 +134,7 @@
*
* @return
*/
- public CrueData computeCrue9() {
+ public void computeCrue9() {
CrueData res = new CrueDataImpl();
CtuluAnalyze analyzer = projet.managerError.getNewAnalyser();
analyzer.setDesc(FCrueResource.getS("Fichiers existant dans le scenario") + " " + scenario.getId());
@@ -137,10 +144,10 @@
// -- on charge les données DRSO du modele --//
res = ordonnanceChargementCrue9(scenario, analyzer);
-
+ scenario.setDataSources(res);
}
projet.managerError.showDialog(projet.getImpl(), FCrueResource.getS("Résultats du Chargement scénario"));
- return res;
+ // return res;
}
/**
@@ -148,8 +155,8 @@
*
* @return
*/
- public CrueData computeCrue10() {
- CrueData res = null;
+ public void computeCrue10() {
+
CtuluAnalyze analyzer = projet.managerError.getNewAnalyser();
analyzer.setDesc(FCrueResource.getS("Fichiers existant dans le scenario") + " " + scenario.getId());
if (scenario.getRunCourant() != null) {
@@ -157,14 +164,14 @@
// -- on charge les données DRSO du modele --//
- res = ordonnanceChargementCrue10(scenario, analyzer);
+ ordonnanceChargementCrue10(scenario, analyzer);
} else {
analyzer.addError("compute.error.noCurrentRun");
}
projet.managerError.showDialog(projet.getImpl(), FCrueResource.getS("Résultats du Chargement scénario"));
- return res;
+
}
/**
@@ -173,213 +180,220 @@
* @param scenario
* @return
*/
- private CrueData ordonnanceChargementCrue10(EMHScenario scenario, CtuluAnalyze analyzer) {
- CrueData res = new CrueDataImpl();
-
- // -- recherche des fichiers sous modeles --//
- if (scenario.getGestionModele() == null || scenario.getGestionModele().getListeModeles() == null
- || scenario.getGestionModele().getListeModeles().size() == 00) {
- analyzer.addError("compute.error.noCurrentModeles");
- return null;
- }
- for (EMHModeleBase modele : scenario.getGestionModele().getListeModeles()) {
- if (modele.getListeSousModeles() == null || modele.getListeSousModeles().getListeModeles() == null
- || modele.getListeSousModeles().getListeModeles().size() == 0) {
- analyzer.addError("compute.error.noCurrentSousModeles");
- return null;
+ private void ordonnanceChargementCrue10(EMHScenario scenario, CtuluAnalyze analyzer) {
+ // -- data globale qui va contenir l'ensemble de totues les datas des scenarios,modeles,sous modeles,...--//
+ CrueData dataScenarioGlobale = new CrueDataImpl();
+ try {
+ // -- recherche des fichiers sous modeles --//
+ if (scenario.getGestionModele() == null || scenario.getGestionModele().getListeModeles() == null
+ || scenario.getGestionModele().getListeModeles().size() == 00) {
+ analyzer.addError("compute.error.noCurrentModeles");
+ return;
}
- // -- on charge en memoire le contenu des sous modeles --//
+ for (EMHModeleBase modele : scenario.getGestionModele().getListeModeles()) {
+ if (modele.getListeSousModeles() == null || modele.getListeSousModeles().getListeModeles() == null
+ || modele.getListeSousModeles().getListeModeles().size() == 0) {
+ analyzer.addError("compute.error.noCurrentSousModeles");
+ return;
+ }
- for (EMHModeleBase sousModele : modele.getListeSousModeles().getListeModeles()) {
- // -- on charge le cinquor
- // --Une liste fixe de fichiers de niveau sous-modèle : DRSO, DPTG, DFRT, DCSP
- if (sousModele.getListeFichiersCrue() == null || sousModele.getListeFichiersCrue().size() >= 4) {
+ // --Creation d'un crue data model global --//
+ CrueData dataModeleGlobale = new CrueDataImpl();
- FichierCrue fichierDrso = sousModele.getListeFichiersCrue().get(0);
- FichierCrue fichierDptg = sousModele.getListeFichiersCrue().get(1);
- FichierCrue fichierDfrt = sousModele.getListeFichiersCrue().get(2);
- FichierCrue fichierDcsp = sousModele.getListeFichiersCrue().get(3);
+ // -- on charge en memoire le contenu des sous modeles --//
- if (!fichierDrso.getFichier().exists()) {
- analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDrso.getFichier()
- .getAbsolutePath()));
- return null;
- }
- if (!fichierDptg.getFichier().exists()) {
- analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDptg.getFichier()
- .getAbsolutePath()));
- return null;
- }
- if (!fichierDfrt.getFichier().exists()) {
- analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDfrt.getFichier()
- .getAbsolutePath()));
- return null;
- }
- if (!fichierDcsp.getFichier().exists()) {
- analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDcsp.getFichier()
- .getAbsolutePath()));
- return null;
- }
+ for (EMHModeleBase sousModele : modele.getListeSousModeles().getListeModeles()) {
+ // -- on charge le cinquor
+ // --Une liste fixe de fichiers de niveau sous-modèle : DRSO, DPTG, DFRT, DCSP
+ if (sousModele.getListeFichiersCrue() == null || sousModele.getListeFichiersCrue().size() >= 4) {
- CrueData resVersion = Crue10FileFormatFactory.getDRSOFileFormat().read(fichierDrso.getFichier(), analyzer,
- null);
+ FichierCrue fichierDrso = sousModele.getListeFichiersCrue().get(0);
+ FichierCrue fichierDptg = sousModele.getListeFichiersCrue().get(1);
+ FichierCrue fichierDfrt = sousModele.getListeFichiersCrue().get(2);
+ FichierCrue fichierDcsp = sousModele.getListeFichiersCrue().get(3);
- if (resVersion == null) {
- analyzer.addError("compute.error.drsoFailed", CtuluAnalyze.createMap("fichier", fichierDrso.getFichier()
- .getAbsolutePath()));
- return null;
- }
+ if (!fichierDrso.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", fichierDrso.getFichier().getAbsolutePath());
+ return;
+ }
+ if (!fichierDptg.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", fichierDptg.getFichier().getAbsolutePath());
+ return;
+ }
+ if (!fichierDfrt.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", fichierDfrt.getFichier().getAbsolutePath());
+ return;
+ }
+ if (!fichierDcsp.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", fichierDcsp.getFichier().getAbsolutePath());
+ return;
+ }
+ // -- data reservée pour le sous modele --//
+ CrueData cruedataSousModele = Crue10FileFormatFactory.getDRSOFileFormat().read(fichierDrso.getFichier(),
+ analyzer, null);
- // -- lecture DFRT avant DPTG--//
- final List<DonFrt> jeuDonnees = Crue10FileFormatFactory.getDFRTFileFormat().read(fichierDfrt.getFichier(),
- projet.getManagerError().getNewAnalyser(), null);
+ if (cruedataSousModele == null) {
+ analyzer.addError("compute.error.drsoFailed", fichierDrso.getFichier().getAbsolutePath());
+ return;
+ }
- resVersion.setFrottements(jeuDonnees);
+ // -- lecture DFRT avant DPTG--//
+ final List<DonFrt> jeuDonnees = Crue10FileFormatFactory.getDFRTFileFormat().read(fichierDfrt.getFichier(),
+ projet.getManagerError().getNewAnalyser(), null);
- // -- lecture DPTG a besoin de DFRT--//
- Crue10FileFormatFactory.getDPTGFileFormat().read(fichierDptg.getFichier(),
- projet.getManagerError().getNewAnalyser(), resVersion);
+ cruedataSousModele.setFrottements(jeuDonnees);
- // -- lecture DCSP --//
- Crue10FileFormatFactory.getDCSPFileFormat().read(fichierDcsp.getFichier(),
- projet.getManagerError().getNewAnalyser(), resVersion);
+ // -- lecture DPTG a besoin de DFRT--//
+ Crue10FileFormatFactory.getDPTGFileFormat().read(fichierDptg.getFichier(),
+ projet.getManagerError().getNewAnalyser(), cruedataSousModele);
- // -- on fusionne les donnes res au res totaux --//
- res.mergeWithAnotherCrueData(resVersion);
+ // -- lecture DCSP --//
+ Crue10FileFormatFactory.getDCSPFileFormat().read(fichierDcsp.getFichier(),
+ projet.getManagerError().getNewAnalyser(), cruedataSousModele);
- } else {
- analyzer.addError("compute.error.notAnySousModelesFiles");
- return null;
+ // -- on ajoute les données crueData propre au sous modele --//
+ sousModele.setDataSources(cruedataSousModele);
+
+ // -- on merge les data du sous modele avec les datas globales pour les liens --//
+ dataModeleGlobale.mergeWithAnotherCrueData(cruedataSousModele);
+
+ } else {
+ analyzer.addError("compute.error.notAnySousModelesFiles");
+ return;
+ }
+
}
- }
+ // -- on charge les fichiers de niveau modele--//
+ // Une liste fixe de fichiers de niveau modèle : (OPTR), OPTG, OPTI, PNUM, DPTI
- // -- on charge les fichiers de niveau modele--//
- // Une liste fixe de fichiers de niveau modèle : (OPTR), OPTG, OPTI, PNUM, DPTI
+ if (modele.getListeFichiersCrue() == null || modele.getListeFichiersCrue().size() < 5) {
+ analyzer.addError("compute.error.notAnyModelesFiles");
+ return;
+ }
+ // OPTR N'existe pas tant que le prétraitement réseau n'est pas opérationnel
+ FichierCrue fichierOPTR = modele.getListeFichiersCrue().get(0);
+ FichierCrue fichierOPTG = modele.getListeFichiersCrue().get(1);
+ FichierCrue fichierOPTI = modele.getListeFichiersCrue().get(2);
+ FichierCrue fichierPNUM = modele.getListeFichiersCrue().get(3);
+ FichierCrue fichierDPTI = modele.getListeFichiersCrue().get(4);
- if (modele.getListeFichiersCrue() == null || modele.getListeFichiersCrue().size() < 5) {
- analyzer.addError("compute.error.notAnyModelesFiles");
- return null;
- }
- // OPTR N'existe pas tant que le prétraitement réseau n'est pas opérationnel
- FichierCrue fichierOPTR = modele.getListeFichiersCrue().get(0);
- FichierCrue fichierOPTG = modele.getListeFichiersCrue().get(1);
- FichierCrue fichierOPTI = modele.getListeFichiersCrue().get(2);
- FichierCrue fichierPNUM ...
[truncated message content] |