|
From: <de...@us...> - 2009-07-01 22:37:05
|
Revision: 4898
http://fudaa.svn.sourceforge.net/fudaa/?rev=4898&view=rev
Author: deniger
Date: 2009-07-01 22:35:48 +0000 (Wed, 01 Jul 2009)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java
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/common/Messages.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTG.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java
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/CrueDaoStructureOPTI.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/io/neuf/AbstractCrue9Reader.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHFactory.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHSousModele.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumMethodeInterpolation.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java
trunk/soft/fudaa-crue/dodico/src/main/resources/logback-test.xml
trunk/soft/fudaa-crue/dodico/src/main/resources/logback.xml
trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties
trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/validation/validation.txt
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/TestCrueDC.java
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/Messages.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueActionChargerScenario.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/view/CrueFilleScenarioManager.java
Added Paths:
-----------
trunk/soft/fudaa-crue/dodico/src/main/resources/default.ores.xml
trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/ihmMessages.properties
Removed Paths:
-------------
trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/messages.properties
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -416,6 +416,8 @@
* @param _analyze l'analyse a ajouter a celle-ci
*/
public void merge(final CtuluAnalyze _analyze) {
+ setDesc(_analyze.getDesc());
+ setResource(_analyze.getResource());
logs.addAll(_analyze.logs);
}
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-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -14,6 +14,7 @@
import org.fudaa.dodico.crue.io.common.CrueData;
import org.fudaa.dodico.crue.io.common.CrueFileType;
import org.fudaa.dodico.crue.io.common.CrueIOResu;
+import org.fudaa.dodico.crue.io.common.Messages;
import org.fudaa.dodico.crue.io.dao.CrueHelper;
import org.fudaa.dodico.crue.io.neuf.AbstractCrue9Reader;
import org.fudaa.dodico.crue.io.neuf.AbstractCrue9Writer;
@@ -81,7 +82,9 @@
// return null;
// }
public CrueIOResu<CrueData> read(final String pathToResource, final CtuluAnalyze analyzer, final CrueData dataLinked) {
- return read(getClass().getResource(pathToResource), analyzer, dataLinked);
+ CrueIOResu<CrueData> read = read(getClass().getResource(pathToResource), analyzer, dataLinked);
+ analyzer.setDesc(Messages.getString("read.file", pathToResource));
+ return read;
}
public CrueIOResu<CrueData> read(final URL url, final CtuluAnalyze analyzer, final CrueData dataLinked) {
@@ -91,6 +94,7 @@
final CtuluIOOperationSynthese read = crue9reader.read();
final CrueIOResu<CrueData> source = (CrueIOResu<CrueData>) read.getSource();
analyzer.merge(read.getAnalyze());
+ analyzer.setDesc(Messages.getString("read.file", url.toString()));
return source;
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -6,6 +6,8 @@
import java.util.ResourceBundle;
+import org.fudaa.dodico.crue.common.CrueMessageHelper;
+
/**
* @author deniger
*/
@@ -14,4 +16,12 @@
private Messages() {}
+ public static String getString(String s) {
+ return RESOURCE_BUNDLE.getString(s);
+ }
+
+ public static String getString(String s, Object... args) {
+ return CrueMessageHelper.getS(RESOURCE_BUNDLE, s, args);
+ }
+
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTG.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTG.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTG.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -58,10 +58,11 @@
res.DonPrtGeoBranches = new ArrayList<CrueDaoStructureDPTG.BrancheSaintVenant>();
res.DonPrtGeoSections = new ArrayList<CrueDaoStructureDPTG.SectionIdem>();
- if (metier.getAllEMH() == null || metier.getAllEMH().size() == 0) {
+ List<EMH> allEMH = metier.getAllEMH();
+ if (CollectionUtils.isEmpty(allEMH)) {
analyser.addInfo("io.dptg.vide.error");
} else {
- for (final EMH emh : metier.getAllEMH()) {
+ for (final EMH emh : allEMH) {
if (emh.getDPTG() != null) {
final List<DonPrtGeo> donnees = emh.getDPTG();
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -123,7 +123,7 @@
} else {
for (final CatEMHSection section : data) {
final List<DonPrtCIni> listeCond = section.getDPTI();
- if (listeCond != null && listeCond.size() != 0) {
+ if (CollectionUtils.isNotEmpty(listeCond)) {
for (final DonPrtCIni conditionInit : listeCond) {
if (conditionInit != null && (conditionInit instanceof DonPrtCIniSection)) {
@@ -145,9 +145,10 @@
}
}
- } else {
- analyser.addInfo("io.dpti.ecriture.section.error", section.getNom());
}
+ // else {
+ // analyser.addInfo("io.dpti.ecriture.section.error", section.getNom());
+ // }
}
}
return listePersistante;
Modified: 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 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -11,6 +11,7 @@
import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase;
import org.fudaa.dodico.crue.metier.emh.ValParam;
import org.fudaa.dodico.crue.metier.emh.ValParamDouble;
+import org.fudaa.dodico.crue.validation.CruePrefix;
/**
* Creation des objets methodes interpolations
@@ -36,7 +37,7 @@
final EnumMethodeInterpolation type = interpol.getType();
metier.setMethodeInterpol(type);
if (EnumMethodeInterpolation.SAINT_VENANT.equals(type)) {
- metier.addValParam(new ValParamDouble("SeuilDetect", interpol.getSeuilDetect()));
+ metier.addValParam(new ValParamDouble(CruePrefix.PM_TOL_ND_Z, interpol.getSeuilDetect()));
}
break;
}
@@ -56,8 +57,13 @@
MethodesInterpolations methode = null;
- if (EnumMethodeInterpolation.LINEAIRE.equals(metier.getMethodeInterpol())) {// NOPMD
+ EnumMethodeInterpolation interpol = metier.getMethodeInterpol();
+ if (EnumMethodeInterpolation.LINEAIRE.equals(interpol)) {// NOPMD
methode = new InterpolLineaire();
+ } else if (EnumMethodeInterpolation.BAIGNOIRE.equals(interpol)) {
+ methode = new CrueDaoStructureOPTI.InterpolBaignoire();
+ } else if (EnumMethodeInterpolation.INTERPOL_ZIMP_AUX_SECTIONS.equals(interpol)) {
+ methode = new CrueDaoStructureOPTI.InterpolZimpAuxSections();
} else {
methode = new InterpolSaintVenant(0);
// -- on recupere le double --//
Modified: 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 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -18,6 +18,7 @@
xstream.alias(CrueFileType.OPTI.toString(), CrueDaoOPTI.class);
// xstream.addImplicitCollection(CrueDaoOPTI.class, "listeInterpol");
xstream.alias("InterpolLineaire", InterpolLineaire.class);
+ xstream.alias("InterpolZimpAuxSections", InterpolZimpAuxSections.class);
xstream.alias("InterpolBaignoire", InterpolBaignoire.class);
xstream.alias("InterpolSaintVenant", InterpolSaintVenant.class);
}
@@ -59,6 +60,21 @@
}
/**
+ * @author deniger
+ */
+ public static class InterpolZimpAuxSections implements MethodesInterpolations {
+ public EnumMethodeInterpolation getType() {
+ return EnumMethodeInterpolation.INTERPOL_ZIMP_AUX_SECTIONS;
+ }
+
+ public double getSeuilDetect() {
+ return 0;
+ }
+
+ public void setSeuilDetect(double s) {}
+ }
+
+ /**
* methode InterpolLineaire
*
* @author Adrien Hadoux
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-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -136,9 +136,11 @@
}
public boolean isValide(final File xml, final CtuluAnalyze res) {
- res.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE);
try {
- return isValide(xml.toURI().toURL(), res);
+ boolean valide = isValide(xml.toURI().toURL(), res);
+ res.setDesc(Messages.getString("valid.xml", xml.getName()));
+ return valide;
+
} catch (final MalformedURLException e) {
res.manageException(e);
LOGGER.error("isValide", e);
@@ -147,12 +149,13 @@
}
public boolean isValide(final String xml, final CtuluAnalyze res) {
- res.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE);
+
return isValide(getClass().getResource(xml), res);
}
public boolean isValide(final URL xml, final CtuluAnalyze res) {
res.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE);
+ res.setDesc(Messages.getString("valid.xml", xml));
final ErrorHandlerDefault handler = new ErrorHandlerDefault(res);
try {
final URL xsdURL = getClass().getResource(xsdPath);
@@ -165,7 +168,7 @@
} catch (final Exception e) {
// res.manageException(e);
- FuLogCrue.error(e);
+ LOGGER.error("isValide", e);
return false;
}
return !handler.isHasError();
@@ -178,6 +181,8 @@
* @return
*/
public final M read(final URL f, final CtuluAnalyze analyzer, final CrueData dataLinked) {
+ analyzer.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE);
+ analyzer.setDesc(Messages.getString("read.file", f));
final D d = readDao(f, analyzer, dataLinked);
if (d != null) { return converter.convertDaoToMetier(d, dataLinked, analyzer); }
return null;
@@ -249,13 +254,14 @@
return null;
}
// if (!isValide(url, analyser)) { return null; }
+
InputStream in = null;
D newData = null;
try {
in = url.openStream();
newData = readDao(in, analyser, dataLinked);
} catch (final IOException e) {
- FuLogCrue.debug(e.getMessage(), e);
+ LOGGER.debug(e.getMessage(), e);
analyser.addError("io.xml.error", e.getMessage());
} finally {
CtuluLibFile.close(in);
@@ -272,6 +278,7 @@
*/
public final M readXML(final File f, final CtuluAnalyze analyzer, final CrueData dataLinked) {
analyzer.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE);
+ analyzer.setDesc(Messages.getString("read.file", f.getName()));
final D d = readDao(f, analyzer, dataLinked);
if (d != null) { return converter.convertDaoToMetier(d, dataLinked, analyzer); }
return null;
@@ -286,6 +293,7 @@
*/
public final M readXML(final String pathToResource, final CtuluAnalyze analyzer, final CrueData dataLinked) {
analyzer.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE);
+ analyzer.setDesc(Messages.getString("read.file", pathToResource));
final D d = readDao(pathToResource, analyzer, dataLinked);
if (d != null) { return converter.convertDaoToMetier(d, dataLinked, analyzer); }
return null;
@@ -345,8 +353,8 @@
* @return
*/
public final boolean writeXML(final CrueData metier, final File f, final CtuluAnalyze analyzer) {
- analyzer.setDesc(f.getName());
analyzer.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE);
+ analyzer.setDesc(Messages.getString("write.file", f.getName()));
final D d = converter.convertMetierToDao(converter.getConverterData(metier), analyzer);
if (d != null) {
d.setXsdName(xsdFile);
@@ -363,6 +371,7 @@
*/
public boolean writeXML(final CrueData metier, final OutputStream out, final CtuluAnalyze analyser) {
analyser.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE);
+ analyser.setDesc(Messages.getString("write.file", getFileType().toString()));
final D d = converter.convertMetierToDao(converter.getConverterData(metier), analyser);
if (d != null) { return writeDAO(out, d, analyser); }
return false;
@@ -376,7 +385,7 @@
* @return
*/
public final boolean writeXMLMetier(final M metier, final File f, final CtuluAnalyze analyzer) {
- analyzer.setDesc(f.getName());
+ analyzer.setDesc(Messages.getString("write.file", f.getName()));
analyzer.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE);
final D d = converter.convertMetierToDao(metier, analyzer);
if (d != null) {
@@ -393,10 +402,10 @@
* @return true si reussite
*/
public boolean writeXMLMetier(final M metier, final OutputStream out, final CtuluAnalyze analyser) {
+ analyser.setDesc(Messages.getString("write.file", getFileType().toString()));
analyser.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE);
final D d = converter.convertMetierToDao(metier, analyser);
if (d != null) { return writeDAO(out, d, analyser); }
return false;
}
-
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Reader.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Reader.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Reader.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -156,6 +156,7 @@
FuLogCrue.error(e);
}
setResourceBundle(Messages.RESOURCE_BUNDLE);
+ analyze_.setDesc(Messages.getString("read.file", _f.getAbsolutePath()));
super.setFile(_f);
}
@@ -165,6 +166,7 @@
@Deprecated
@Override
public void setFile(final Reader _r) {
+ analyze_.setDesc(Messages.getString("read.file", "Crue 9"));
super.setFile(_r);
setResourceBundle(Messages.RESOURCE_BUNDLE);
}
@@ -189,6 +191,7 @@
folder = urlAll.substring(0, urlAll.lastIndexOf('/') + 1);
setResourceBundle(Messages.RESOURCE_BUNDLE);
analyze_.setResource(_r.toString());
+ analyze_.setDesc(Messages.getString("read.file", _r.toString()));
super.setFile(new InputStreamReader(_r.openStream()));
} catch (final IOException e) {
FuLogCrue.error(e);
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -1941,15 +1941,16 @@
// -- recuperation de l'element lu en 1ere position --//
final String element = in_.stringField(0);
final String nomProfil = in_.stringField(1);
- if (element.toUpperCase().equals(CrueIODico.PROFIL)) {
+ final String upperCase = element.toUpperCase();
+ if (upperCase.equals(CrueIODico.PROFIL)) {
sectionCree = createSectionProfilClassique(metier, nomProfil);
- } else if (element.toUpperCase().equals(CrueIODico.PROFREF)) {
+ } else if (upperCase.equals(CrueIODico.PROFREF)) {
// ex: PROFREF(o) "nom_prof_ref"
sectionCree = createSectionProfilReference(metier, nomProfil);
- } else if (element.toUpperCase().equals(CrueIODico.PROFIDEM)) {
+ } else if (upperCase.equals(CrueIODico.PROFIDEM)) {
// -- section avec reference vers une autre section et une donnee DPTG avec un deltaZ changeant --//
// ex PROFIDEM(o) "nom_profil" "nom_prof_appelé" [deltaz]
final String nomReference = in_.stringField(2);
@@ -1971,33 +1972,39 @@
sectionCree = newSection;
lireSuite();
- } else if (element.toUpperCase().equals(CrueIODico.PROFINT)) {
+ } else if (upperCase.equals(CrueIODico.PROFINT)) {
- sectionCree = createSectionProfilClassique(metier, nomProfil);
+ final CatEMHSection sectionToreplace = metier.findSectionByReference(nomProfil);
+ // sectionCree = createSectionProfilClassique(metier, nomProfil);
+
// -- il faut transformer cette section en interpole: on le fait maintenant car dans la methode cela ne change
// rien
// car c'est au niveau de la branche que l'on cree les sections.
- final EMHSectionInterpolee newSection = new EMHSectionInterpolee(sectionCree.getNom());
- replaceSection(metier, sectionCree, newSection);
-
- // -- on remplace les relations et les infos emh --//
- if (sectionCree.getInfosEMH() != null) {
- newSection.setInfosEMH(sectionCree.getInfosEMH());
+ sectionCree = new EMHSectionInterpolee(nomProfil);
+ if (sectionToreplace == null) {
+ metier.add(sectionCree);
+ } else {
+ replaceSection(metier, sectionCree, sectionCree);
}
- if (sectionCree.getRelationEMH() != null) {
- newSection.setRelationEMH(sectionCree.getRelationEMH());
- }
- metier.add(newSection);
+ // // -- on remplace les relations et les infos emh --//
+ // if (sectionCree.getInfosEMH() != null) {
+ // newSection.setInfosEMH(sectionCree.getInfosEMH());
+ // }
+ // if (sectionCree.getRelationEMH() != null) {
+ // newSection.setRelationEMH(sectionCree.getRelationEMH());
+ // }
- } else if (element.toUpperCase().equals(CrueIODico.PROFRECT)) {
+ // metier.add(newSection);
+
+ } else if (upperCase.equals(CrueIODico.PROFRECT)) {
// TODO pour FICHIER DEXP non présent dans V0
// final String nomProfil = in_.stringField(1);
// sectionCree = createSectionProfilClassique(metier, nomProfil);
throw new CrueNotSupportedException(element, in_.getLineNumber());
- } else if (element.toUpperCase().equals(CrueIODico.PROFTRAP)) {
+ } else if (upperCase.equals(CrueIODico.PROFTRAP)) {
// TODO pour FICHIER DEXP non présent dans V0
// final String nomProfil = in_.stringField(1);
// sectionCree = createSectionProfilClassique(metier, nomProfil);
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -398,10 +398,6 @@
if (sectionEMH instanceof EMHSectionProfil) {
final DonPrtCIniSection sectionDPTI = new DonPrtCIniSection();
sectionDPTI.setZini(calculeNiveauEauSection((EMHSectionProfil) sectionEMH, coefRempliPourBrancheI));
- // Ajout du DPTI au CatEMHSection
- // if (emh.getInfosEMH() == null) {
- // emh.setListeInfosEMH(new ArrayList<InfosEMH>());
- // }
sectionEMH.addInfosEMH(sectionDPTI);
}
}
@@ -698,6 +694,7 @@
}
final List<CalcPseudoPerm> calculsPermanents = new ArrayList<CalcPseudoPerm>();
+ OrdCalcScenario ocal = res.getOrdCalc();
while (!FIN.equals(reader.stringField(0))) {
// CONLIM (IM) : valeur de la IMème condition à la limite
@@ -722,6 +719,15 @@
calcPerm.setNom(CruePrefix.P_CALCUL + (nbEtatPermanent + 1));
calcPerm.setDescription("Calcul permanent " + (nbEtatPermanent + 1));
+ // pour le premier on prend en compte la reprise éventuelle
+ if (reprise != null && ocal.getOrdCalc().isEmpty()) {
+ reprise.setCalcPseudoPerm(calcPerm);
+ ocal.addOrdCalc(reprise);
+ } else {
+ OrdCalcPseudoPermIniCalcPrecedent iniPrec = new OrdCalcPseudoPermIniCalcPrecedent();
+ iniPrec.setCalcPseudoPerm(calcPerm);
+ ocal.addOrdCalc(reprise);
+ }
// final List<EMH> listeRefs = new ArrayList<EMH>();
// calcPerm.setListeRefs(listeRefs);
@@ -839,7 +845,7 @@
final StringBuilder build = new StringBuilder();
for (int i = 0; i < nbConlim; i++) {
// la valeur des conditions aux limites d'un état permanent.
- build.append(reader.doubleField(i) + " ; ");
+ build.append(reader.doubleField(i)).append(" ; ");
}
LOGGER.fine(reader.getCurrent().getLineNumber() + " conlims=" + build);
}
@@ -960,6 +966,9 @@
calcTrans.setNom(CruePrefix.P_CALCUL + "Trans1");
calcTrans.setDescription("Calcul transitoire 1");
dclm.addCalcTrans(calcTrans);
+ OrdCalcTransIniCalcPrecedent prec = new OrdCalcTransIniCalcPrecedent();
+ prec.setCalcTrans(calcTrans);
+ res.getOrdCalc().addOrdCalc(prec);
// calcTrans.setListeDonCLimMNoeudNiveauContinu(new ArrayList<DonCLimMNoeudNiveauContinu>());
// calcTrans.setListeDonCLimMBrancheOrifice(new ArrayList<DonCLimMBrancheOrifice>());
@@ -1444,6 +1453,11 @@
}
/**
+ * non null si reprise: ical=0
+ */
+ OrdCalcPseudoPermIniCalcReprise reprise;
+
+ /**
* Methode principale qui fait le tout.
*
* @param res
@@ -1501,24 +1515,23 @@
// Enregistrement de "ical" et de "trepr" dans OCAL (seulement s'il vaut 0 ; aucun enregistrement metier pour une
// valeur différente)
final CrueData crueData = res.getMetier();
+ // Création de IniCalcReprise avec une date de reprise
+ OrdCalcScenario ocal = crueData.getOrdCalc();
+ if (ocal == null) {
+ ocal = new OrdCalcScenario();
+ crueData.setOrdCalc(ocal);
+ }
if (ical == 0) {
- // Création de IniCalcReprise avec une date de reprise
- OrdCalcScenario ocal = crueData.getOrdCalc();
- if (ocal == null) {
- ocal = new OrdCalcScenario();
- crueData.setOrdCalc(ocal);
- }
-
// final List<OrdCalcPerm> calculsPerms = new ArrayList<OrdCalcPerm>();
// final OrdCalcPseudoPerm pseudoPerm = new OrdCalcPseudoPerm();
- final OrdCalcPseudoPermIniCalcReprise reprise = new OrdCalcPseudoPermIniCalcReprise();
+ reprise = new OrdCalcPseudoPermIniCalcReprise();
reprise.setDateReprise(DateDurationConverter.getDateFromZeroDate(tempReprise));
// pseudoPerm.setIniReprise(reprise);
// calculsPerms.add(pseudoPerm);
- ocal.addOrdCalc(reprise);
+ // ocal.addOrdCalc(reprise);
}
// Enregistrement de "cru" et "cofqr" dans les propriétés CoefRuisQdm et CoefRuis respectivement de toutes les
@@ -1559,6 +1572,8 @@
crueData.setParamCalc(pcal);
}
pcal.setVerbosite(isorti == 0 ? EnumVerbosite.ZERO : EnumVerbosite.UN);
+ OrdPrtCIniModeleBase methodesInterpolation = createOpti(ile);
+ crueData.setMethodesInterpolation(methodesInterpolation);
// Pas d'enregistrement de "ile" qui sert pour l'algo uniquement
@@ -1581,4 +1596,35 @@
}
}
+ private OrdPrtCIniModeleBase createOpti(int ile) {
+ OrdPrtCIniModeleBase res = EMHFactory.createOPTI();
+ // <!-- cas DH.iLE=1 -->
+ // <InterpolLineaire />
+ // <!--
+ // XOR, si DH.iLE=0, une interpolation par cotes imposées aux sections
+ // <InterpolZimpAuxSections/>
+ // -->
+ // <!--
+ // XOR, si DH.iLE=2, une interpolation des cotes par calcul de la courbe
+ // de remous en permanent <InterpolSaintVenant>
+ // <Pm_TolNdZ>0.01</Pm_TolNdZ> </InterpolSaintVenant>
+ // -->
+ // <!--
+ // XOR, si DH.iLE=3, une interpolation à cotes constantes type baignoire
+ // <InterpolBaignoire/>
+ // -->
+ EnumMethodeInterpolation enumInterpol = EnumMethodeInterpolation.INTERPOL_ZIMP_AUX_SECTIONS;
+ if (ile == 1) {
+ enumInterpol = EnumMethodeInterpolation.LINEAIRE;
+ } else if (ile == 2) {
+ enumInterpol = EnumMethodeInterpolation.SAINT_VENANT;
+
+ res.addValParam(new ValParamDouble(CruePrefix.PM_TOL_ND_Z, 0.01));
+ } else if (ile == 3) {
+ enumInterpol = EnumMethodeInterpolation.BAIGNOIRE;
+ }
+ res.setMethodeInterpol(enumInterpol);
+
+ return res;
+ }
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHFactory.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHFactory.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHFactory.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -67,4 +67,8 @@
dataDCSP.setLoiQPdc(newLoi);
return dataDCSP;
}
+
+ public static OrdPrtCIniModeleBase createOPTI() {
+ return new OrdPrtCIniModeleBase();
+ }
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -85,6 +85,12 @@
return null;
}
+ public File getDirForRunCourantOf(String scenarioNom) {
+ final ManagerEMHScenario sc = getScenario(scenarioNom);
+ if (sc != null && sc.getRunCourant() != null) { return getDirForRun(sc, sc.getRunCourant()); }
+ return null;
+ }
+
private Map<String, URL> getEtudeFiles(final Map<String, FichierCrueParModele> allFileUsed) {
final Map<String, URL> res = new HashMap<String, URL>();
try {
@@ -108,60 +114,49 @@
/**
* @return l'association idFichier->File pour les fichier d'etude
*/
- public Map<String, URL> getFileEtudeScenario(final String id) {
- final ManagerEMHScenario sc = getScenario(id);
+ public Map<String, URL> getFileUrlEtudeScenario(final String nomScenario) {
+ final ManagerEMHScenario sc = getScenario(nomScenario);
if (sc == null) { return Collections.emptyMap(); }
return getEtudeFiles(sc.getAllFileUsed());
}
- public Map<String, File> getFileFileEtudeScenario(final String id) {
- final ManagerEMHScenario sc = getScenario(id);
+ /**
+ * @return l'association idFichier->File pour les fichier d'etude
+ */
+ public Map<String, File> getFileFileEtudeScenario(final String nomScenario) {
+ final ManagerEMHScenario sc = getScenario(nomScenario);
if (sc == null) { return Collections.emptyMap(); }
return getFileEtudeFiles(sc.getAllFileUsed());
}
/**
- * @param nom le nom du scenario
- * @return l'association idFichier->File pour les fichier d'etude
+ * @param nomScenario le nom du scenario
+ * @return l'association idFichier->File pour les fichier d'etude du run courant
*/
- public Map<String, URL> getURLRunScenario(final String nom) {
- final ManagerEMHScenario sc = getScenario(nom);
+ public Map<String, URL> getFileUrlRunScenario(final String nomScenario) {
+ final ManagerEMHScenario sc = getScenario(nomScenario);
if (sc == null || sc.getRunCourant() == null) { return Collections.emptyMap(); }
return getRunFiles(sc.getAllFileUsed(), sc.getRunCourant());
}
/**
- * @param nom le nom du scenario
+ * @param nomScenario le nom du scenario
* @return l'association idFichier->File pour les fichier d'etude
*/
- public Map<String, File> getFileRunScenario(final String nom) {
- final ManagerEMHScenario sc = getScenario(nom);
+ public Map<String, File> getFileFileRunScenario(final String nomScenario) {
+ final ManagerEMHScenario sc = getScenario(nomScenario);
if (sc == null || sc.getRunCourant() == null) { return Collections.emptyMap(); }
return getRunFileFiles(sc.getAllFileUsed(), sc.getRunCourant());
}
/**
- * @return l'association idFichier->File pour les fichier d'etude
- */
- public Map<String, URL> getURLScenarioCourant() {
- if (scenarioCourant == null || scenarioCourant.getRunCourant() == null) { return Collections.emptyMap(); }
- return getRunFiles(scenarioCourant.getAllFileUsed(), scenarioCourant.getRunCourant());
- }
-
- /**
- * @return l'association idFichier->File pour les fichier du run courant
- */
- public Map<String, URL> getFilesEtudeScenarioCourant() {
- if (scenarioCourant == null) { return Collections.emptyMap(); }
- return getEtudeFiles(scenarioCourant.getAllFileUsed());
- }
-
- /**
+ * @param nomScenario le nom du scenario
* @return l'association pour les fichiers resultats du run courant
*/
- public Map<String, URL> getFilesResultatForCurrentRun() {
- final File dir = getDirForRunCourant();
- if (dir != null) { return scenarioCourant.getFilesResultatIn(dir); }
+ public Map<String, URL> getFileUrlResultatForCurrentRun(String nomScenario) {
+ final File dir = getDirForRunCourantOf(nomScenario);
+ final ManagerEMHScenario sc = getScenario(nomScenario);
+ if (dir != null) { return sc.getFilesResultatIn(dir); }
return null;
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHSousModele.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHSousModele.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHSousModele.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -22,9 +22,11 @@
protected static void addAllFile(ManagerEMHContainerBase from, final Map<String, FichierCrueParModele> dest,
final ManagerEMHModeleBase parent) {
- final List<FichierCrue> fics = from.getListeFichiers().getFichiers();
- for (final FichierCrue fichierCrue : fics) {
- dest.put(fichierCrue.getId(), new FichierCrueParModele(fichierCrue, parent));
+ if (from.getListeFichiers() != null) {
+ final List<FichierCrue> fics = from.getListeFichiers().getFichiers();
+ for (final FichierCrue fichierCrue : fics) {
+ dest.put(fichierCrue.getId(), new FichierCrueParModele(fichierCrue, parent));
+ }
}
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumMethodeInterpolation.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumMethodeInterpolation.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumMethodeInterpolation.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -8,6 +8,6 @@
/** @pdOid 6757dbc8-39aa-448a-a3e4-01e504092430 */
public enum EnumMethodeInterpolation {
- LINEAIRE, SAINT_VENANT, BAIGNOIRE;
+ LINEAIRE, SAINT_VENANT, BAIGNOIRE, INTERPOL_ZIMP_AUX_SECTIONS;
}
\ No newline at end of file
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -53,9 +53,9 @@
analyzer.addFatalError("not.scenario.error", scenario.getNom());
}
if (runCourant == null) {
- files = projet.getFileEtudeScenario(scenario.getNom());
+ files = projet.getFileUrlEtudeScenario(scenario.getNom());
} else {
- files = projet.getURLRunScenario(scenario.getNom());
+ files = projet.getFileUrlRunScenario(scenario.getNom());
}
EMHScenario emhScenario = null;
if (scenario.getInfosVersions() != null && scenario.getInfosVersions().getType() != null) {
@@ -81,15 +81,15 @@
private boolean validFiles(final CrueErrorManager errorMng) {
// on teste la presence de fichiers
- Map<String, URL> fileToLoad = projet.getFilesEtudeScenarioCourant();
+ Map<String, URL> fileToLoad = projet.getFileUrlEtudeScenario(scenario.getNom());
boolean ok = validFileExists(errorMng, fileToLoad, "loader.fichier.etude.exist");
if (scenario.getRunCourant() != null) {
- final Map<String, URL> runFiles = projet.getURLScenarioCourant();
+ final Map<String, URL> runFiles = projet.getFileUrlRunScenario(scenario.getNom());
ok = ok && validFileExists(errorMng, runFiles, "loader.fichier.run.exist");
if (ok) {
fileToLoad = runFiles;
}
- warnResFileExists(projet.getFilesResultatForCurrentRun());
+ warnResFileExists(projet.getFileUrlResultatForCurrentRun(scenario.getNom()));
}
return ok;
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -10,6 +10,7 @@
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.dodico.crue.common.CrueErrorManager;
+import org.fudaa.dodico.crue.io.Crue10FileFormatFactory;
import org.fudaa.dodico.crue.io.Crue9FileFormatFactory;
import org.fudaa.dodico.crue.io.common.CrueData;
import org.fudaa.dodico.crue.io.common.CrueFileType;
@@ -54,8 +55,8 @@
}
final ManagerEMHModeleBase modele = fils.get(0);
- final URL fichierDC = files.get(modele.getListeFichiers().getFile(CrueFileType.DC));
- final URL fichierDH = files.get(modele.getListeFichiers().getFile(CrueFileType.DH));
+ final URL fichierDC = files.get(modele.getListeFichiers().getFile(CrueFileType.DC).getId());
+ final URL fichierDH = files.get(modele.getListeFichiers().getFile(CrueFileType.DH).getId());
if (fichierDC == null) {
analyzer.addFatalError("loader.crue9.noDefined", "DC", modele.getNom());
@@ -76,6 +77,12 @@
ioResuDC.getMetier());
if (ana.containsFatalError()) { return null; }
final CrueData res = ioResuDH.getMetier();
+ // on charge les valeurs par defaut pour ores.
+ CtuluAnalyze ores = new CtuluAnalyze();
+ Crue10FileFormatFactory.getInstance().getORES().read("/default.ores.xml", ores, res);
+ if (ores.containsErrors()) {
+ errorMng.getAnalyser().add(ores);
+ }
// on verifie que l'on peut renommer les noms correctement.
final CtuluAnalyze verifiePrefixeNomDonneesCrue9 = CruePrefix.verifiePrefixeNomDonneesCrue9(res);
if (verifiePrefixeNomDonneesCrue9.containsErrors()) {
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -54,7 +54,7 @@
final Map<String, File> files = projet.getFileFileEtudeScenario(scenario.getNom());
Map<String, File> runFiles = null;
if (runCourant == null) {
- runFiles = projet.getFileRunScenario(scenario.getNom());
+ runFiles = projet.getFileFileRunScenario(scenario.getNom());
}
if (scenario.getInfosVersions() != null && scenario.getInfosVersions().getType() != null) {
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -121,10 +121,15 @@
public static String getNomAvecPrefix(final EMH emh) {
if (emh == null) { return null; }
- final String prefix = ENUM_PREFIX.get(emh.getType());
+ final String prefix = getPrefixFor(emh);
return getNomAvecPrefixe(prefix, emh.getNom());
}
+ private static String getPrefixFor(final EMH emh) {
+ final String prefix = ENUM_PREFIX.get(emh.getType());
+ return prefix;
+ }
+
public static String getNomAvecPrefix(final Loi loi) {
if (loi == null) { return null; }
final String prefix = getPrefix(loi.getType());
@@ -133,8 +138,9 @@
private static final int NB_CAR_MAX_CRUE9 = 16;
- protected static void computeNom(final ObjetNomme obj, final String newNom, final CtuluAnalyze analyze,
+ protected static void computeNom(final ObjetNomme obj, final String prefixe, final CtuluAnalyze analyze,
final String codeErreur) {
+ final String newNom = getNomAvecPrefixe(prefixe, obj.getNom());
if (newNom.length() > NB_CAR_MAX_CRUE9) {
analyze.addError(codeErreur, obj.getNom(), newNom);
} else {
@@ -194,7 +200,7 @@
final List<EMH> listeEMHs = crueData.getAllEMH();
final CtuluAnalyze analyze = new CtuluAnalyze(ProjetMessages.RESOURCE_BUNDLE);
for (final EMH emh : listeEMHs) {
- computeNom(emh, getNomAvecPrefix(emh), analyze, "crue9.cant.rename.emh");
+ computeNom(emh, getPrefixFor(emh), analyze, "crue9.cant.rename.emh");
}
final DonFrtConteneur frottements = crueData.getFrottements();
if (frottements != null) {
@@ -202,7 +208,7 @@
for (final DonFrt donFrt : listFrt) {
final LoiFF loi = donFrt.getLoi();
final String pref = (loi.getType().equals(EnumTypeLoi.LoiFK)) ? P_FROTT_STRICKLER : P_FROTT_MANNING;
- computeNom(donFrt, getNomAvecPrefixe(pref, donFrt.getNom()), analyze, "crue9.cant.rename.frt");
+ computeNom(donFrt, pref, analyze, "crue9.cant.rename.frt");
}
}
@@ -219,7 +225,10 @@
final List<LitNumerote> litsNumerotes = donneeProfilSection.getLitNumerote();
if (litsNumerotes != null) {
for (int i = 0, imax = litsNumerotes.size(); i < imax; i++) {
- computeNom(litsNumerotes.get(i).getNomLit(), P_LIT, analyze, "crue9.cant.rename.lit");
+ final LitNomme nomLit = litsNumerotes.get(i).getNomLit();
+ if (nomLit != null) {
+ computeNom(nomLit, P_LIT, analyze, "crue9.cant.rename.lit");
+ }
}
}
} else if (donnee instanceof DonPrtGeoProfilCasier) {
@@ -233,9 +242,11 @@
// Val Param (OPTI)
final OrdPrtCIniModeleBase opti = crueData.getMethodesInterpolation();
- for (final Iterator it = opti.getIteratorValParam(); it.hasNext();) {
- final ValParam param = (ValParam) it.next();
- CruePrefix.addPrefixIfNeeded(param);
+ if (opti != null) {
+ for (final Iterator it = opti.getIteratorValParam(); it.hasNext();) {
+ final ValParam param = (ValParam) it.next();
+ CruePrefix.addPrefixIfNeeded(param);
+ }
}
// // Lois de calculs transitoires (DCLM)
@@ -284,4 +295,9 @@
return analyze;
}
+
+ /**
+ *
+ */
+ public static final String PM_TOL_ND_Z = "Pm_TolNdZ";
}
Added: trunk/soft/fudaa-crue/dodico/src/main/resources/default.ores.xml
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/resources/default.ores.xml (rev 0)
+++ trunk/soft/fudaa-crue/dodico/src/main/resources/default.ores.xml 2009-07-01 22:35:48 UTC (rev 4898)
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ORES 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/ores-1.0.0.xsd">
+ <!--
+ Le fichier ORES rassemble les demandes de résultats supplémentaires.
+ Son périmètre est le scénario
+ -->
+ <!--
+ Entrées pour chaque type d'EMH et non pour chaque catégorie d'EMH
+ -->
+ <!--
+ Par convention, les variables demandées doivent être systématiquement
+ sorties pour chaque calcul demandé dans le OCAL, càd potentiellement
+ plusieurs calculs pseudo-permanents et un seul calcul transitoire
+ -->
+ <Commentaire>Commentaire sur le scénario</Commentaire>
+
+ <OrdResNoeuds>
+ <OrdResNoeudNiveauContinu>
+ <DdeZ>true</DdeZ>
+ <DdeHmin>false</DdeHmin>
+ <DdeHmax>false</DdeHmax>
+ </OrdResNoeudNiveauContinu>
+ </OrdResNoeuds>
+ <OrdResCasiers>
+ <OrdResCasierProfil>
+ <DdeSplan>false</DdeSplan>
+ <DdeVol>false</DdeVol>
+ </OrdResCasierProfil>
+ <!--
+ dans le futur <OrdResCasierMNT> <DdeSplan>false</DdeSplan>
+ <DdeVol>false</DdeVol> </OrdResCasierMNT>
+ -->
+ </OrdResCasiers>
+ <OrdResSections>
+ <OrdResSectionProfil>
+ <DdeQ>true</DdeQ> <!-- obligatoire: ne peut pas être désactivé -->
+ <DdeZ>true</DdeZ> <!-- obligatoire: ne peut pas être désactivé -->
+ <DdeH>false</DdeH>
+ <DdeZf>false</DdeZf>
+ <DdeZc>false</DdeZc>
+ <DdeZn>false</DdeZn>
+ <DdeYc>false</DdeYc>
+ <DdeYn>false</DdeYn>
+ <DdeVact>false</DdeVact>
+ <DdeVtot>false</DdeVtot>
+ <DdeVc>false</DdeVc>
+ <DdeF>false</DdeF>
+ <DdeLact>false</DdeLact>
+ <DdeLtot>false</DdeLtot>
+ <DdeSact>false</DdeSact>
+ <DdeStot>false</DdeStot>
+ <DdeDact>false</DdeDact>
+ <DdeDtot>false</DdeDtot>
+ </OrdResSectionProfil>
+ <OrdResSectionIdem>
+ <DdeQ>true</DdeQ> <!-- obligatoire: ne peut pas être désactivé -->
+ <DdeZ>true</DdeZ> <!-- obligatoire: ne peut pas être désactivé -->
+ </OrdResSectionIdem>
+ <OrdResSectionInterpolee>
+ <DdeQ>true</DdeQ> <!-- obligatoire: ne peut pas être désactivé -->
+ <DdeZ>true</DdeZ> <!-- obligatoire: ne peut pas être désactivé -->
+ </OrdResSectionInterpolee>
+ <OrdResSectionSansGeometrie>
+ <DdeQ>true</DdeQ> <!-- obligatoire: ne peut pas être désactivé -->
+ <DdeZ>true</DdeZ> <!-- obligatoire: ne peut pas être désactivé -->
+ </OrdResSectionSansGeometrie>
+ </OrdResSections>
+ <OrdResBranches>
+ <OrdResBranchePdc>
+ <DdeDz>false</DdeDz>
+ </OrdResBranchePdc>
+ <OrdResBrancheSeuilTransversal>
+ <DdeRegime>false</DdeRegime>
+ </OrdResBrancheSeuilTransversal>
+ <OrdResBrancheSeuilLateral>
+ <DdeRegime>false</DdeRegime>
+ </OrdResBrancheSeuilLateral>
+ <OrdResBrancheOrifice>
+ <DdeRegime>false</DdeRegime>
+ <DdeCoefCtr>false</DdeCoefCtr>
+ <DdeOuv>false</DdeOuv>
+ </OrdResBrancheOrifice>
+ <OrdResBrancheStrickler>
+ <DdeSplan>false</DdeSplan>
+ <DdeVol>false</DdeVol>
+ </OrdResBrancheStrickler>
+ <OrdResBrancheBarrageGenerique>
+ <DdeRegime>false</DdeRegime>
+ </OrdResBrancheBarrageGenerique>
+ <OrdResBrancheBarrageFilEau>
+ <DdeRegime>false</DdeRegime>
+ </OrdResBrancheBarrageFilEau>
+ <OrdResBrancheSaintVenant>
+ <DdeQlat>true</DdeQlat> <!-- obligatoire: ne peut pas être désactivé -->
+ <DdeSplan>false</DdeSplan>
+ <DdeVol>false</DdeVol>
+ </OrdResBrancheSaintVenant>
+ <!--
+ dans le futur <OrdResBrancheEnchainement></OrdResBrancheEnchainement>
+ -->
+ </OrdResBranches>
+</ORES>
\ No newline at end of file
Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/logback-test.xml
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/resources/logback-test.xml 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/resources/logback-test.xml 2009-07-01 22:35:48 UTC (rev 4898)
@@ -11,10 +11,10 @@
<logger name="org.apache" level="WARN" />
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
- <File>${user.home}/testFile.log</File>
+ <File>${user.home}/tsBis.log</File>
<Append>true</Append>
<layout class="ch.qos.logback.classic.PatternLayout">
- <Pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</Pattern>
+ <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</layout>
</appender>
Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/logback.xml
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/resources/logback.xml 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/resources/logback.xml 2009-07-01 22:35:48 UTC (rev 4898)
@@ -8,10 +8,10 @@
</appender>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
- <File>${user.home}/tsNew.log</File>
+ <File>${user.home}/tsBis.log</File>
<Append>true</Append>
<layout class="ch.qos.logback.classic.PatternLayout">
- <Pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</Pattern>
+ <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</layout>
</appender>
Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties 2009-07-01 22:35:48 UTC (rev 4898)
@@ -23,6 +23,7 @@
io.UnknownLine.error = Ligne {0}: La ligne de type {1} n'est pas g\u00E9r\u00E9e
io.convert.PtEvolutionFF.error = Impossible de convertir la valeur '{0}' en 2 valeurs x,y
io.convert.dptg.profilNotFound.error = Impossible de trouver le profil de nom {0} dans la liste des casier profils et sections profils de DRSO
+io.convert.enum.error = Le type {0} ne peut pas \u00EAtre traduit pour le fichier xml
io.crue.fcb.profilIndice.error = La partie profile du fichier fcb n'est pas valide.
io.crue9.brancheNotSupportedInCrue9.error = la branche n'est pas support\u00E9 au format Crue 9, elle ne sera pas prise en compte.
io.crue9.nametoolong.error = Erreur le nom {0} est trop long pour la taille autorisee des lignes de format Crue 9. Le nom a ete concatene.
@@ -118,7 +119,6 @@
io.dpti.ecriture.branche.error = Ecriture DPTI : pas de condition initiale pour la branche de reference {0}.
io.dpti.ecriture.casier.error = Ecriture DPTI : pas de condition initiale pour le casier de reference {0}.
io.dpti.ecriture.noeud.error = Ecriture DPTI : pas de condition initiale pour le noeud de reference {0}.
-io.dpti.ecriture.section.error = Ecriture DPTI : pas de condition initiale pour la section de reference {0}.
io.dpti.lecture.error = Lecture DPTI : Impossible de r\u00E9cup\u00E9rer les donn\u00E9es r\u00E9saux (DRSO). Les r\u00E9f\u00E9rences du fichier DPTI ne pourront etre utilis\u00E9es.
io.dpti.noeud.ref.error = Lecture DPTI : Impossible de trouver le noeud de r\u00E9f\u00E9rence {0}.
io.drso.branches.no.noeud.amont.error = Lecture DRSO : Branches: Il n'y a pas de noeud amont pour la branche {0}.
@@ -159,5 +159,11 @@
io.xml.error = Une erreur est survenue lors de l'analyse du fichier xml: {0}
io.xml.validator.error = Line {0}: le fichier xml n'est pas valide. Message: {1}
+read.file = Lecture du fichier {0}
+
+valid.xml = Validation du fichier {0}
+
validation.cruedata.vide.error = Impossible d'ajouter les pr\u00E9fixes aux donn\u00E9es Crue car celles-ci sont vides
validation.projet.vide.error = Impossible d'ajouter les pr\u00E9fixes au projet Crue car celui-ci est vide
+
+write.file = Ecriture du fichier {0}
Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/validation/validation.txt
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/validation/validation.txt 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/validation/validation.txt 2009-07-01 22:35:48 UTC (rev 4898)
@@ -159,4 +159,6 @@
Pm_VarPdxMax;>0.0;;>=1;
Pm_PenteMax;>=0.0;;>0.0;<=0.1
Pm_TolNdZ;>0.0;;>=0.001;<=0.10
+N;>=0.0;;>=0.015;<=0.125
+
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-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-opti-1.0.0.xsd 2009-07-01 22:35:48 UTC (rev 4898)
@@ -23,6 +23,7 @@
<xs:complexType name="TypeMethodeInterpol">
<xs:choice>
<xs:element name="InterpolLineaire" type="TypeEmpty" minOccurs="0" />
+ <xs:element name="InterpolZimpAuxSections" type="TypeEmpty" minOccurs="0" />
<xs:element name="InterpolBaignoire" type="TypeEmpty" minOccurs="0" />
<xs:element name="InterpolSaintVenant" type="TypeInterpolSaintVenant" minOccurs="0" />
</xs:choice>
Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -13,6 +13,7 @@
import org.fudaa.dodico.crue.metier.emh.DonFrt;
import org.fudaa.dodico.crue.metier.emh.EMHSectionIdem;
import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase;
+import org.fudaa.dodico.crue.validation.CruePrefix;
/**
* Tests junit pour les fichiers DC IO. fortran, .
@@ -57,7 +58,8 @@
* Test de lecture du modele 3 complet.
*/
public void testLectureModele3() {
- testLectureFichierDC(FICHIER_TEST_MODELE3_DC_XML);
+ CrueData testLectureFichierDC = testLectureFichierDC(FICHIER_TEST_MODELE3_DC_XML);
+ testAnalyser(CruePrefix.verifiePrefixeNomDonneesCrue9(testLectureFichierDC));
}
/**
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-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -37,23 +37,23 @@
}
System.err.println("Dossier de destination= " + destDir.getAbsolutePath());
final ManagerEMHScenario scenarioCourant = projet3.getScenarioCourant();
- final ValidateModeleScenario validator = new ValidateModeleScenario(projet3.getFilesEtudeScenarioCourant(),
- scenarioCourant);
- CtuluAnalyze writeScenario = validator.writeScenario();
+ final ValidateModeleScenario validator = new ValidateModeleScenario(projet3.getFileUrlEtudeScenario(scenarioCourant
+ .getNom()), scenarioCourant);
+ final CtuluAnalyze writeScenario = validator.writeScenario();
testAnalyser(writeScenario);
try {
- String content = CtuluLibFile.litFichierTexte(validator.getScenarioFile());
+ final String content = CtuluLibFile.litFichierTexte(validator.getScenarioFile());
System.out.println("le contenu: ");
System.out.println("");
System.out.println(content);
- } catch (IOException e) {
+ } catch (final IOException e) {
e.printStackTrace();
fail(e.getMessage());
FuLogCrue.error(e);
}
- CrueErrorManager validate = validator.validate();
+ final CrueErrorManager validate = validator.validate();
assertNotNull(validate);
- for (CtuluAnalyze an : validate.getAnalyser()) {
+ for (final CtuluAnalyze an : validate.getAnalyser()) {
if (an.containsErrors()) {
an.printResume();
}
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/Messages.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/Messages.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/Messages.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -11,7 +11,7 @@
* @author deniger
*/
public class Messages {
- private static final String BUNDLE_NAME = "org.fudaa.fudaa.crue.common.messages"; //$NON-NLS-1$
+ private static final String BUNDLE_NAME = "org.fudaa.fudaa.crue.common.ihmMessages"; //$NON-NLS-1$
/**
* La traduction
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueActionChargerScenario.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueActionChargerScenario.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueActionChargerScenario.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -46,8 +46,9 @@
@Override
public void actionPerformed(ActionEvent _e) {
- if (impl.question(FCrueResource.getS("ihm.chargement"), FCrueResource.getS("ihm.confirm.chargt.scenario", scenario
- .getNom()))) {
+ boolean isAlreadyCurrent = projet.getProject().getScenarioCourant() == scenario;
+ String msg = isAlreadyCurrent ? "ihm.confirm.rechargt.scenario" : "ihm.confirm.chargt.scenario";
+ if (impl.question(FCrueResource.getS("ihm.chargement"), FCrueResource.getS(msg, scenario.getNom()))) {
if (scenario != null) {
ScenarioLoaderUI algo = new ScenarioLoaderUI(scenario, projet.project);
boolean ok = algo.compute(projet.getImpl());
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-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -33,43 +33,6 @@
*/
public class CrueProjet {
- // /**
- // * Classe de l'observable Crue.
- // *
- // * @author Adrien Hadoux
- // */
- // private static class CrueObservable extends Observable {
- // @Override
- // public void notifyObservers() {
- // setChanged();
- // super.notifyObservers();
- // }
- //
- // @Override
- // public void notifyObservers(Object param) {
- // setChanged();
- // super.notifyObservers(param);
- // }
- //
- // }
-
- /**
- * Controlleur qui enregistre tout ses observeurs pour les notifier le moment requis.
- */
- // private static CrueObservable controlleur;
- /**
- * Implementtation du design pattern observer-observable. L'observable est un singleton, ce qui permet de l'utiliser
- * sans pour autant avoir nécessairement une instance de CrueProjet sous la main.
- *
- * @return
- */
- // public static CrueObservable getControlleur() {
- // if (controlleur == null) {
- // controlleur = new CrueObservable();
- // }
- //
- // return controlleur;
- // }
private CrueFilleEMH emhViewFille;
final File fichierEtu_;
@@ -331,8 +294,8 @@
}
public void changeScenarioCourant(ManagerEMHScenario newCourant) {
- if (newCourant == project.getScenarioCourant()) { return; }
- if (project.getScenarioCourant() != null) {
+ if (newCourant == null) { return; }
+ if (newCourant != project.getScenarioCourant() && project.getScenarioCourant() != null) {
project.getScenarioCourant().clean();
}
close();
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java 2009-07-01 03:52:04 UTC (rev 4897)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java 2009-07-01 22:35:48 UTC (rev 4898)
@@ -110,7 +110,7 @@
if (this.scenario != null) {
...
[truncated message content] |