|
From: <de...@us...> - 2010-03-06 01:31:06
|
Revision: 5705
http://fudaa.svn.sourceforge.net/fudaa/?rev=5705&view=rev
Author: deniger
Date: 2010-03-06 01:30:55 +0000 (Sat, 06 Mar 2010)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.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/CrueConverterDRSO.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCLM.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTG.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/io/neuf/DHWriter.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Commentaires.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoProfilCasier.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoProfilSection.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Loi.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/EMHHelper.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/EMHHelperPredicate.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/LoiFactory.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.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/ScenarioSaverCrue9.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ContentEMHValidator.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/Crue9Validator.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateEMHProperties.java
trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties
trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties
trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-common-1.0.0.xsd
trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dclm-1.0.0.xsd
trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dptg-1.0.0.xsd
trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDCLMFile.java
trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDH.java
trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDLHYFile.java
trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-1.dcsp.xml
trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dclm.xml
trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dfrt.xml
trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dlhy.xml
trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele4.dcsp.xml
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/Crue.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/EMHManagerBuilder.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java
trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/ihmMessages.properties
Removed Paths:
-------------
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/PropertyValidatorsBuilder.java
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -22,7 +22,7 @@
protected String Nom;
/** Représente la balise portant le même nom dans le fichier XML */
- protected String Description;
+ protected String Commentaire;
/**
* La date de début pour une loi Date. Doit être ignoree par les autres lois.
*/
@@ -85,7 +85,7 @@
*/
protected static void daoToMetierLoi(final Loi outLoi, final AbstractDaoLoi inLoi) {
outLoi.setNom(inLoi.Nom);
- outLoi.setDescription(inLoi.Description);
+ outLoi.setCommentaire(inLoi.Commentaire);
outLoi.setType(inLoi.Type);
outLoi.setEvolutionFF(inLoi.EvolutionFF);
}
@@ -98,7 +98,7 @@
*/
protected static void metierToDaoLoi(final AbstractDaoLoi outLoi, final Loi inLoi) {
outLoi.Nom = inLoi.getNom();
- outLoi.Description = StringUtils.defaultString(inLoi.getDescription());
+ outLoi.Commentaire = StringUtils.defaultString(inLoi.getCommentaire());
outLoi.Type = inLoi.getType();
outLoi.EvolutionFF = inLoi.getEvolutionFF();
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -135,7 +135,7 @@
final CalcPseudoPerm calculPermMetier = new CalcPseudoPerm();
calculPermMetier.setNom(calculPermPersist.Nom);
- calculPermMetier.setDescription(calculPermPersist.Description);
+ calculPermMetier.setCommentaire(calculPermPersist.Commentaire);
// calculPermMetier.setMethodeCalcul(calculPermPersist.MethodeCalcul);
// *** Gestion des elements d'un calcul permanent
@@ -245,7 +245,7 @@
final CalcTrans calculTransMetier = new CalcTrans();
calculTransMetier.setNom(calculTransPersist.Nom);
- calculTransMetier.setDescription(calculTransPersist.Description);
+ calculTransMetier.setCommentaire(calculTransPersist.Commentaire);
// *** Gestion des elements d'un calcul transitoire
if (calculTransPersist.listeElementsCalculTransitoire == null
@@ -503,7 +503,7 @@
final CalculPermanentPersist calculPersist = new CalculPermanentPersist();
calculPersist.Nom = calculMetier.getNom();
- calculPersist.Description = calculMetier.getDescription();
+ calculPersist.Commentaire = calculMetier.getCommentaire();
// calculPersist.MethodeCalcul = calculMetier.getMethodeCalcul();
calculPersist.listeElementsCalculPermanent = new ArrayList<RefDCLMAbstractPersist>();
@@ -733,7 +733,7 @@
final CalculTransitoirePersist calculPersist = new CalculTransitoirePersist();
calculPersist.Nom = calculMetier.getNom();
- calculPersist.Description = calculMetier.getDescription();
+ calculPersist.Commentaire = calculMetier.getCommentaire();
calculPersist.listeElementsCalculTransitoire = new ArrayList<RefDCLMAbstractPersist>();
// final List<NoeudNiveauContinuHydrogrammePersist> listePersistNNCH = new
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 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTG.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -9,6 +9,7 @@
import org.apache.commons.collections.CollectionUtils;
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.dodico.crue.io.common.CrueData;
+import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTG.Fente;
import org.fudaa.dodico.crue.metier.emh.CatEMHBranche;
import org.fudaa.dodico.crue.metier.emh.CatEMHSection;
import org.fudaa.dodico.crue.metier.emh.DonFrt;
@@ -158,9 +159,11 @@
final CrueDaoStructureDPTG.ProfilSection profilPersistant = new CrueDaoStructureDPTG.ProfilSection();
profilPersistant.Nom = in.getNom();
+ profilPersistant.Commentaire = in.getCommentaire();
if (in.getFente() != null) {
- profilPersistant.LargeurFente = in.getFente().getLargeurFente();
- profilPersistant.ProfondeurFente = in.getFente().getProfondeurFente();
+ profilPersistant.Fente = new Fente();
+ profilPersistant.Fente.LargeurFente = in.getFente().getLargeurFente();
+ profilPersistant.Fente.ProfondeurFente = in.getFente().getProfondeurFente();
}
// -- Ecriture des lits numerotes --//
@@ -231,6 +234,7 @@
profilPersistant.Longueur = in.getLongueur();
profilPersistant.Nom = in.getNom();
+ profilPersistant.Commentaire = in.getCommentaire();
// -- Ecriture du lit utile dans le profil casier --//
if (in.getLitUtile() != null) {
@@ -304,18 +308,19 @@
// -- on remplit son contenu --//
profilGeo.setNom(profilPersist.Nom);
- if (profilPersist.LargeurFente != null || profilPersist.ProfondeurFente != null) {
+ profilGeo.setCommentaire(profilPersist.Commentaire);
+ if (profilPersist.Fente != null) {
final DonPrtGeoProfilSectionFenteData dataFente = new DonPrtGeoProfilSectionFenteData(crueData
.getCruePropertyDefinitionContainer());
- if (profilPersist.LargeurFente == null) {
+ if (profilPersist.Fente.LargeurFente == null) {
analyser.addWarn("dptg.largeurFenteNotDefined");
} else {
- dataFente.setLargeurFente(profilPersist.LargeurFente);
+ dataFente.setLargeurFente(profilPersist.Fente.LargeurFente);
}
- if (profilPersist.ProfondeurFente == null) {
+ if (profilPersist.Fente.ProfondeurFente == null) {
analyser.addWarn("dptg.profondeurFenteNotDefined");
} else {
- dataFente.setProfondeurFente(profilPersist.ProfondeurFente);
+ dataFente.setProfondeurFente(profilPersist.Fente.ProfondeurFente);
}
profilGeo.setFente(dataFente);
}
@@ -396,6 +401,7 @@
if (profilCasier == null) {
profilCasier = new DonPrtGeoProfilCasier(crueData.getCruePropertyDefinitionContainer());
profilCasier.setNom(nomProfil);
+ profilCasier.setCommentaire(profilPersist.Commentaire);
crueData.registerDefinedCasierProfil(profilCasier);
crueData.getSousModele().addInfosEMH(profilCasier);
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -444,7 +444,7 @@
// -- on recherche sa spécialisation --//
if (casierPersist instanceof CasierProfil) {
- casier = FactoryEMH.createCasierProfil(nom, data.getCruePropertyDefinitionContainer());
+ casier = FactoryEMH.createCasierProfil(nom, data.getCruePropertyDefinitionContainer(), false);
final CasierProfil casierProfilPersist = (CasierProfil) casierPersist;
if (CollectionUtils.isNotEmpty(casierProfilPersist.ProfilCasiers)) {
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCLM.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCLM.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCLM.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -77,8 +77,8 @@
protected static abstract class CalculAbstractPersist {
/** Nom du calcul */
protected String Nom;
- /** Description du calcul */
- protected String Description;
+ /** Commentaire du calcul */
+ protected String Commentaire;
}
/**
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTG.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTG.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTG.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -61,6 +61,11 @@
xstream.useAttributeFor(BrancheSaintVenant.class, "NomRef");
}
+ protected static class Fente {
+ protected Double LargeurFente;
+ protected Double ProfondeurFente;
+ }
+
protected static class ProfilSection implements ObjetNomme {
public String getId() {
return Nom;
@@ -79,8 +84,7 @@
* optionnel.
*/
protected String Commentaire;
- protected Double LargeurFente;
- protected Double ProfondeurFente;
+ protected Fente Fente;
protected EvolutionFF EvolutionFF;
protected List<Lit> LitNumerotes;
@@ -123,6 +127,7 @@
}
protected static class ProfilCasier extends AbstractCasier {
+ protected String Commentaire;
protected double Longueur;
protected EvolutionFF EvolutionFF;
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 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -1356,7 +1356,7 @@
lireSuite();
final EMHCasierProfil newCasier = FactoryEMH.createCasierProfil(CruePrefix.changePrefix(idNoeud,
- CruePrefix.P_NOEUD, CruePrefix.P_CASIER), metier.getCruePropertyDefinitionContainer());
+ CruePrefix.P_NOEUD, CruePrefix.P_CASIER), metier.getCruePropertyDefinitionContainer(), true);
newCasier.setUserActive(true);
CatEMHNoeud noeudRef = metier.findNoeudByReference(idNoeud);
@@ -1988,6 +1988,8 @@
readCasiers(metier);
} else {
+ analyze_.addFatalError("io.dc.carteNotRecognized", in_.getLineNumber(), element);
+ // return null;
lireSuite();
}
}
@@ -2002,6 +2004,7 @@
analyze_.manageException(e);
return null;
}
+
// finalement on remet les sectionIdem en place en recherchant les références.
if (sectionIdemWithNoRef != null) {
for (final Entry<EMHSectionIdem, String> it : sectionIdemWithNoRef.entrySet()) {
@@ -2030,6 +2033,7 @@
if (resu.getMetier().getPretraitementsGeom() == null) {
createDefaultOPTG(resu.getMetier());
}
+ if (analyze_.containsFatalError()) { return null; }
return resu;
}
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 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -915,7 +915,7 @@
final CalcPseudoPerm calcPerm = new CalcPseudoPerm();
calcPerm.setNom(CruePrefix.P_CALCUL + "P" + (nbEtatPermanent + 1));
- calcPerm.setDescription("Calcul pseudo-permanent " + (nbEtatPermanent + 1));
+ calcPerm.setCommentaire("Calcul pseudo-permanent " + (nbEtatPermanent + 1));
// pour le premier on prend en compte la reprise éventuelle
final boolean first = ocal.getOrdCalc().isEmpty();
if (reprise != null && first) {
@@ -1177,7 +1177,7 @@
// Un seul calcul transitoire possible en version crue 9
final CalcTrans calcTrans = new CalcTrans();
calcTrans.setNom(CruePrefix.P_CALCUL + "T1");
- calcTrans.setDescription("Calcul transitoire 1");
+ calcTrans.setCommentaire("Calcul transitoire 1");
dclm.addCalcTrans(calcTrans);
final OrdCalcTransIniCalcPrecedent prec = new OrdCalcTransIniCalcPrecedent();
prec.setCalcTrans(calcTrans);
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHWriter.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHWriter.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHWriter.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -16,8 +16,6 @@
import org.fudaa.ctulu.CtuluLib;
import org.fudaa.ctulu.fileformat.FortranInterface;
import org.fudaa.dodico.crue.common.DateDurationConverter;
-import org.fudaa.dodico.crue.comparaison.tester.EqualsTesterLoi;
-import org.fudaa.dodico.crue.comparaison.tester.FactoryEqualsTester;
import org.fudaa.dodico.crue.io.common.CrueData;
import org.fudaa.dodico.crue.io.common.CrueIOResu;
import org.fudaa.dodico.crue.metier.emh.CalcPseudoPerm;
@@ -129,21 +127,21 @@
private boolean aDonneesPerm = false;
private boolean aDonneesTrans = false;
- private boolean isModeLateral(CrueData data) {
- double epsForCoefRus = data.getCruePropertyDefinitionContainer().getEpsilon("CoefRuis");
- List<EMH> allSimpleEMH = data.getAllSimpleEMH();
- for (EMH emh : allSimpleEMH) {
- List<DonCalcSansPrtBrancheSaintVenant> dcsp = EMHHelper.collectClass(emh.getInfosEMH(),
+ private boolean isModeLateral(final CrueData data) {
+ final double epsForCoefRus = data.getCruePropertyDefinitionContainer().getEpsilon("CoefRuis");
+ final List<EMH> allSimpleEMH = data.getAllSimpleEMH();
+ for (final EMH emh : allSimpleEMH) {
+ final List<DonCalcSansPrtBrancheSaintVenant> dcsp = EMHHelper.collectClass(emh.getInfosEMH(),
DonCalcSansPrtBrancheSaintVenant.class);
if (dcsp != null) {
- for (DonCalcSansPrtBrancheSaintVenant dcspItem : dcsp) {
+ for (final DonCalcSansPrtBrancheSaintVenant dcspItem : dcsp) {
if (!CtuluLib.isZero(dcspItem.getCoefRuis(), epsForCoefRus)) { return true; }
}
}
- List<DonCalcSansPrtCasierProfil> dcspCasierProfil = EMHHelper.collectClass(emh.getInfosEMH(),
+ final List<DonCalcSansPrtCasierProfil> dcspCasierProfil = EMHHelper.collectClass(emh.getInfosEMH(),
DonCalcSansPrtCasierProfil.class);
if (dcsp != null) {
- for (DonCalcSansPrtCasierProfil dcspItem : dcspCasierProfil) {
+ for (final DonCalcSansPrtCasierProfil dcspItem : dcspCasierProfil) {
if (!CtuluLib.isZero(dcspItem.getCoefRuis(), epsForCoefRus)) { return true; }
}
}
@@ -196,7 +194,7 @@
aDonneesPerm = EMHHelper.containsPermanent(ordCalc);
aDonneesTrans = EMHHelper.containsTransitoire(ordCalc);
- boolean modeLateral = isModeLateral(data);
+ final boolean modeLateral = isModeLateral(data);
// cru
if (modeLateral
&& !computeQruisIdentique(coeffsRuisParCalcPerm, ordCalc, data.getCruePropertyDefinitionContainer())) { return; }
@@ -538,7 +536,7 @@
return calcILE;
}
- private double getTolNdz(final OrdPrtCIniModeleBase methodesInterpolation, CrueData data) {
+ private double getTolNdz(final OrdPrtCIniModeleBase methodesInterpolation, final CrueData data) {
final Collection<ValParam> listValParam = methodesInterpolation.getValParam();
if (listValParam != null) {
final String key = CruePrefix.PM_TOL_ND_Z.toUpperCase();
@@ -549,37 +547,25 @@
return getTolNdZDefaultValue(data);
}
- private double getTolNdZDefaultValue(CrueData data) {
+ private double getTolNdZDefaultValue(final CrueData data) {
return data.getCruePropertyDefinitionContainer().getDefaultDoubleValue(DefaultValues.PM_TOL_ND_Z);
}
private double computeQruisQDM(final CrueData data) {
final List<EMHBrancheSaintVenant> branchesSaintVenant = data.getBranchesSaintVenant();
- boolean valueSet = false;
- double defaultValue = data.getCruePropertyDefinitionContainer().getDefaultDoubleValue("coefRuisQdm");
- double res = defaultValue;
- final double eps = data.getCruePropertyDefinitionContainer().getEpsilon("coefRuisQdm");
for (final EMHBrancheSaintVenant brancheSaintVenant : branchesSaintVenant) {
if (brancheSaintVenant.getUserActive()) {
final List<DonCalcSansPrtBrancheSaintVenant> dcsps = EMHHelper.collectClass(brancheSaintVenant.getInfosEMH(),
DonCalcSansPrtBrancheSaintVenant.class);
- for (final DonCalcSansPrtBrancheSaintVenant dcsp : dcsps) {
- final double coefRuisQdm = dcsp.getCoefRuisQdm();
- if (valueSet) {
- if (!CtuluLib.isEquals(res, coefRuisQdm, eps)) { return defaultValue; }
- } else {
- valueSet = true;
- res = coefRuisQdm;
- }
- }
+ if (CollectionUtils.isNotEmpty(dcsps)) { return dcsps.get(0).getCoefRuisQdm(); }
}
}
- return res;
+ return data.getCruePropertyDefinitionContainer().getDefaultDoubleValue("coefRuisQdm");
}
private boolean computeQruisIdentique(final Map<String, Double> coeffsRuisParCalcPerm, final List<OrdCalc> ordCalcs,
- CrueProperties props) {
- List<CalcPseudoPerm> calcPseudoPerm = EMHHelper.collectCalcPseudoPerm(ordCalcs);
+ final CrueProperties props) {
+ final List<CalcPseudoPerm> calcPseudoPerm = EMHHelper.collectCalcPseudoPerm(ordCalcs);
// Pour déterminer s'il existe un coefficient de ruissellement commun pour un calcul permanent, il faut que le
// coefficient de chaque branche Saint Venant de ce calcul soit le même.
for (int i = 0, imax = calcPseudoPerm.size(); i < imax; i++) {
@@ -589,7 +575,12 @@
final List<CalcPseudoPermBrancheSaintVenantQruis> calcQruis = calcPerm.getCalcPseudoPermBrancheSaintVenantQruis();
final List<CalcPseudoPermCasierProfilQruis> calcCasierQruis = calcPerm.getCalcPseudoPermCasierProfilQruis();
if (CollectionUtils.isNotEmpty(calcQruis) || CollectionUtils.isNotEmpty(calcCasierQruis)) {
- Double d = EMHHelper.isQruisConstant(calcPerm, props);
+ Double d = null;
+ if (CollectionUtils.isNotEmpty(calcQruis)) {
+ d = calcQruis.get(0).getQruis();
+ } else if (CollectionUtils.isNotEmpty(calcCasierQruis)) {
+ d = calcCasierQruis.get(0).getQruis();
+ }
coeffsRuisParCalcPerm.put(calcPerm.getNom(), d == null ? Double.valueOf(props.getDefaultDoubleValue("qRuis"))
: d);
}
@@ -738,15 +729,6 @@
fortranWriter.doubleField(j, valeursCP.get(j));
}
- // // S'il y a du ruissellement, une valeur supplémentaire est attendue
- // if (coeffsRuisParCalcPerm.size() > 0) {
- // if (coeffsRuisParCalcPerm.containsKey(nomCalcPerm)) {
- // fortranWriter_.doubleField(size, (Double) coeffsRuisParCalcPerm.get(nomCalcPerm));
- // } else {
- // fortranWriter_.doubleField(size, 0);
- // }
- // }
-
fortranWriter.writeFields();
}
}
@@ -839,47 +821,17 @@
.getCalcPseudoPermBrancheSaintVenantQruis();
// Ajout la valeur de ruissellement s'il y en a
if (CollectionUtils.isNotEmpty(listeBranchesSV)) {
- final double valeur = getCommonQruis(nomCalcPerm, listeBranchesSV);
- if (analyze_.containsFatalError()) { return; }
+ final double valeur = listeBranchesSV.get(0).getQruis();
valeursCP.add(valeur);
}
lignesE.put(nomCalcPerm, valeursCP);
}
- private double getCommonQruis(final String nomCalcPerm,
- final List<CalcPseudoPermBrancheSaintVenantQruis> listeBranchesSVe) {
- boolean qruisIdentique = true;
- double qruis = 0.0;
- boolean qruisSet = false;
- for (final CalcPseudoPermBrancheSaintVenantQruis brancheSV : listeBranchesSVe) {
- if (brancheSV.getNomCalculParent() != null && brancheSV.getNomCalculParent().equals(nomCalcPerm)) {
- if (!qruisSet) {
- qruis = brancheSV.getQruis();
- qruisSet = true;
- } else if (!CtuluLib.isEquals(brancheSV.getQruis(), qruis, 1e-8)) {
- qruisIdentique = false;
- break;
- }
- }
- }
- // Enregistrement du débit de ruissellement si à la dernière branche SaintVenant, le debit est constaté comme
- // étant identique sur toutes les branches SaintVenant de ce calcul permanent
- double valeur = 0.0;
- if (qruisIdentique) {
- valeur = qruis;
- } else {
- valeur = 0.0;
- analyze_.addFatalError("io.dh.qruis.indefini.error", nomCalcPerm);
- }
- return valeur;
- }
-
/**
* @param data
* @throws IOException
*/
private void writeDonneesTransitoires(final CrueData data) throws IOException {
- FactoryEqualsTester equalsTesterFac = new FactoryEqualsTester(data.getCruePropertyDefinitionContainer());
writeCom("");
writeCom(" Donnees transitoires ");
@@ -920,7 +872,7 @@
dt = DateDurationConverter.durationToCrueFormat(duree);
final ParamCalcScenario pcal = data.getParamCalc();
- LocalDateTime dateDebSce = pcal.getDateDebSce();
+ final LocalDateTime dateDebSce = pcal.getDateDebSce();
// le tmax s'est la date de deb + duree
tMax = DateDurationConverter.dateToCrueFormat(dateDebSce.plus(pcal.getDureeSce()));
hDeb = DateDurationConverter.dateToCrueFormat(dateDebSce);
@@ -947,9 +899,9 @@
final List<CalcTrans> calcsTrans = EMHHelper.collectCalcTrans(data.getOrdCalc().getOrdCalc());
if (CollectionUtils.isEmpty(calcsTrans)) { return; }
- if (calcsTrans.size() > 1) {
- analyze_.addWarn("io.dh.nb.calctrans.diff.un.warn");
- }
+ // if (calcsTrans.size() > 1) {
+ // analyze_.addWarn("io.dh.nb.calctrans.diff.un.warn");
+ // }
final CalcTrans calcTrans = calcsTrans.get(0);
@@ -986,30 +938,7 @@
if (CollectionUtils.isEmpty(listeBranchesSV)) { return; }
// final CalcTransBrancheSaintVenantQruis brancheSV = listeBranchesSV.iterator().next();
- LoiDF loiCommun = null;
- EqualsTesterLoi tester = null;
- for (final CalcTransBrancheSaintVenantQruis venantQruis : listeBranchesSV) {
- if (loiCommun == null) {
- loiCommun = venantQruis.getLoiTQruis();
- }
- // on ne lance pas la comparaison si les lois sont les meme
- else if (!venantQruis.getLoiTQruis().getId().equals(loiCommun.getId())) {
- if (tester == null) {
- tester = new EqualsTesterLoi(equalsTesterFac);
- }
- try {
- if (!tester.isSameSafe(loiCommun, venantQruis.getLoiTQruis(), null, tester.getContextFactory().create())) {
- analyze_.addFatalError("dh.loiTQruis.notCommon", venantQruis.getEmh().getNom(), venantQruis
- .getNomCalculParent());
- }
- } catch (final Exception e) {
- analyze_.manageException(e);
- }
-
- }
-
- }
-
+ final LoiDF loiCommun = listeBranchesSV.iterator().next().getLoiTQruis();
if (loiCommun != null) {
writeCom("");
writeCom(" ruis ");
@@ -1029,7 +958,7 @@
* @param pdtVar
* @throws IOException
*/
- private void ecritLignesDTransitoire(final PdtVar pdtVar, LocalDateTime dateDebut) throws IOException {
+ private void ecritLignesDTransitoire(final PdtVar pdtVar, final LocalDateTime dateDebut) throws IOException {
// Ligne D1
fortranWriter.stringField(0, "VARDT");
@@ -1198,7 +1127,7 @@
* @param loi
* @throws IOException
*/
- private void ecritLoi(CrueData data, final Loi loi) throws IOException {
+ private void ecritLoi(final CrueData data, final Loi loi) throws IOException {
if (loi instanceof LoiDF) {
@@ -1216,7 +1145,7 @@
final EvolutionFF evolFF = loi.getEvolutionFF();
if (evolFF != null && CollectionUtils.isNotEmpty(evolFF.getPtEvolutionFF())) {
- List<PtEvolutionFF> ptEvolutionFF = evolFF.getPtEvolutionFF();
+ final List<PtEvolutionFF> ptEvolutionFF = evolFF.getPtEvolutionFF();
// Ligne E3-1
writeCom("");
writeCom(" Zbas Dz ");
@@ -1243,10 +1172,10 @@
int countEltsParLigne = 0;
// Lignes E3-2
- double eps = data.getCruePropertyDefinitionContainer().getEpsilon("dz");
+ final double eps = data.getCruePropertyDefinitionContainer().getEpsilon("dz");
for (int j = 0, jmax = ptEvolutionFF.size(); j < jmax; j++) {
if (j > 0) {
- double newDz = ptEvolutionFF.get(j).getY() - ptEvolutionFF.get(j - 1).getY();
+ final double newDz = ptEvolutionFF.get(j).getY() - ptEvolutionFF.get(j - 1).getY();
if (!CtuluLib.isEquals(dz, newDz, eps)) {
analyze_.addError("io.dh.dzNotConstant", loi.getNom());
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -1,13 +1,13 @@
/***********************************************************************
- * Module: Calc.java
- * Author: deniger
- * Purpose: Defines the Class Calc
+ * Module: Calc.java Author: deniger Purpose: Defines the Class Calc
***********************************************************************/
package org.fudaa.dodico.crue.metier.emh;
import java.util.List;
+import org.apache.commons.lang.StringUtils;
+
/**
* Classe abstrait pour les options de calcul
*
@@ -17,16 +17,16 @@
/** @pdOid 3b9131ef-d90d-46f5-b311-7bad7fa7b305 */
private String nom;
/** @pdOid c96d0317-f9db-49bc-9f38-757e5a6b58c8 */
- private String description;
+ private String commentaire = StringUtils.EMPTY;
public abstract List<DonCLimM> getlisteDCLM();
/**
- * @param newDescription
+ * @param newCommentaire
* @pdOid 503d9275-439a-480c-8b09-6820340661d7
*/
- public void setDescription(final String newDescription) {
- description = newDescription;
+ public void setCommentaire(final String newCommentaire) {
+ commentaire = StringUtils.defaultString(newCommentaire);
}
public final String getType() {
@@ -34,8 +34,8 @@
}
/** @pdOid 5199f4f7-d812-4d07-a25d-02c75bbbad40 */
- public String getDescription() {
- return description;
+ public String getCommentaire() {
+ return commentaire;
}
private String id;
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Commentaires.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Commentaires.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Commentaires.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -4,6 +4,7 @@
import java.util.HashMap;
import java.util.Map;
+import org.apache.commons.lang.StringUtils;
import org.fudaa.dodico.crue.io.common.CrueFileType;
import org.fudaa.dodico.crue.metier.FichierCrue;
@@ -23,11 +24,11 @@
}
public void setCommentaire(CrueFileType type, String com) {
- commentaires.put(type, com);
+ commentaires.put(type, StringUtils.defaultString(com));
}
public void setCommentaire(FichierCrue type, String com) {
- commentaires.put(type.getType(), com);
+ commentaires.put(type.getType(), StringUtils.defaultString(com));
}
public String getCommentaire(CrueFileType type) {
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoProfilCasier.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoProfilCasier.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoProfilCasier.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -1,5 +1,6 @@
package org.fudaa.dodico.crue.metier.emh;
+import org.apache.commons.lang.StringUtils;
import org.fudaa.dodico.crue.property.CrueProperties;
/** @pdOid 644b4cd5-433b-4568-b043-3fefd4bca488 */
@@ -20,6 +21,16 @@
/** @pdRoleInfo migr=no name=LitUtile assc=association45 mult=1..1 type=Composition */
private LitUtile litUtile;
+ private String commentaire = StringUtils.EMPTY;
+
+ public String getCommentaire() {
+ return commentaire;
+ }
+
+ public void setCommentaire(String commentaire) {
+ this.commentaire = StringUtils.defaultString(commentaire);
+ }
+
/** @pdGenerated default getter */
public java.util.List<PtProfil> getPtProfil() {
if (ptProfil == null) {
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoProfilSection.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoProfilSection.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoProfilSection.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -1,5 +1,7 @@
package org.fudaa.dodico.crue.metier.emh;
+import org.apache.commons.lang.StringUtils;
+
/** @pdOid d577c554-7fdc-460c-8191-d2b2521ac6d1 */
public class DonPrtGeoProfilSection extends DonPrtGeoNomme {
/** @pdOid d01ff676-db1e-4c69-a3bf-b9ce9c279286 */
@@ -16,6 +18,16 @@
*/
private java.util.List<PtProfil> ptProfil;
+ private String commentaire = StringUtils.EMPTY;
+
+ public String getCommentaire() {
+ return commentaire;
+ }
+
+ public void setCommentaire(String commentaire) {
+ this.commentaire = StringUtils.defaultString(commentaire);
+ }
+
/** @pdGenerated default getter */
public java.util.List<LitNumerote> getLitNumerote() {
if (litNumerote == null) {
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Loi.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Loi.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Loi.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -1,13 +1,13 @@
/***********************************************************************
- * Module: AbstractLoi.java
- * Author: deniger
- * Purpose: Defines the Class AbstractLoi
+ * Module: AbstractLoi.java Author: deniger Purpose: Defines the Class AbstractLoi
***********************************************************************/
package org.fudaa.dodico.crue.metier.emh;
import java.util.HashSet;
+import org.apache.commons.lang.StringUtils;
+
/**
* Loi abstraite pour LoiDF et LoiFF
*
@@ -17,7 +17,7 @@
/** @pdOid b0f23fb3-fc63-4722-8913-6c935b97733c */
private String nom;
/** @pdOid 7db4b936-5375-418f-92a5-b14ce48f3d75 */
- private String description;
+ private String commentaire = StringUtils.EMPTY;
/** @pdOid 8bff8b79-2087-4cb2-92f2-79dc364082ad */
private EnumTypeLoi type;
@@ -119,16 +119,16 @@
}
/** @pdOid 9728d304-70ef-4883-ad9e-62d31ac0b225 */
- public String getDescription() {
- return description;
+ public String getCommentaire() {
+ return commentaire;
}
/**
- * @param newDescription
+ * @param newCommentaire
* @pdOid 3dafaa65-0cf2-4594-ba97-7bb849cc6aa8
*/
- public void setDescription(final String newDescription) {
- description = newDescription;
+ public void setCommentaire(final String newCommentaire) {
+ this.commentaire = StringUtils.defaultString(newCommentaire);
}
}
\ No newline at end of file
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/EMHHelper.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/EMHHelper.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/EMHHelper.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -160,6 +160,15 @@
}
/**
+ * @author deniger
+ */
+ public static final class TransformerRelationToEMHId implements Transformer {
+ public Object transform(final Object input) {
+ return ((RelationEMH) input).getEmh().getId();
+ }
+ }
+
+ /**
* Cr�e les relations EMH correspondantes aux sections
*
* @param emh
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/EMHHelperPredicate.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/EMHHelperPredicate.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/EMHHelperPredicate.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -1,13 +1,19 @@
package org.fudaa.dodico.crue.metier.helper;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
import org.apache.commons.collections.Predicate;
import org.fudaa.dodico.crue.metier.emh.CatEMHActivable;
import org.fudaa.dodico.crue.metier.emh.EMH;
import org.fudaa.dodico.crue.metier.emh.EnumInfosEMH;
+import org.fudaa.dodico.crue.metier.emh.EnumPositionSection;
import org.fudaa.dodico.crue.metier.emh.EnumTypeEMH;
import org.fudaa.dodico.crue.metier.emh.InfosEMH;
import org.fudaa.dodico.crue.metier.emh.RelationEMH;
import org.fudaa.dodico.crue.metier.emh.RelationEMHContient;
+import org.fudaa.dodico.crue.metier.emh.RelationEMHSectionDansBranche;
/**
* @author deniger Conteneur des predicate.
@@ -50,6 +56,19 @@
}
/**
+ * utilise pour les relationEMH: renvoie true si l'EMH de destination est active.
+ *
+ * @author deniger
+ */
+ public static class PredicateRelationWithEMHActivated implements Predicate {
+
+ public boolean evaluate(Object object) {
+ return object != null && ((RelationEMH) object).getEmh().getUserActive();
+ }
+
+ }
+
+ /**
* Un predicate pour retrouver objet d'une classe donne.
*
* @author deniger
@@ -171,28 +190,37 @@
}
/**
- * A utiliser avec RelationEMHContient afin de récupérer les EMH avec un type donne.
+ * A utiliser avec RelationEMHContient afin de récupérer les relation d'un type donne et si voulu filtrer sue le type
+ * d'EMH en relation.
*
* @author deniger
*/
public static class PredicateRelationEMHContientEMHOfClass implements Predicate {
- private final Class type;
+ private final Class<? extends EMH> type;
+ private final Set<Class<? extends RelationEMH>> typeOfRelation;
+ public PredicateRelationEMHContientEMHOfClass(final Class<? extends RelationEMH>... classesOfRelation) {
+ this(null, classesOfRelation);
+
+ }
+
/**
- * @param type le type recherche.Si null renvoie true pour toutes les relation RelationEMHContient
+ * @param typeOfRelatedEMH le type recherche.Si null renvoie true pour toutes les relation RelationEMHContient
+ * @param classesOfRelation les classes des relations recherchées.
*/
- public PredicateRelationEMHContientEMHOfClass(final Class type) {
+ public PredicateRelationEMHContientEMHOfClass(final Class<? extends EMH> typeOfRelatedEMH,
+ final Class<? extends RelationEMH>... classesOfRelation) {
super();
- this.type = type;
+ this.type = typeOfRelatedEMH;
+ typeOfRelation = new HashSet<Class<? extends RelationEMH>>(Arrays.asList(classesOfRelation));
}
public boolean evaluate(final Object object) {
if (object == null) { return false; }
- if (object.getClass().equals(RelationEMHContient.class)) {
+ if (typeOfRelation.contains(object.getClass())) {
if (type == null) { return true; }
- final RelationEMHContient rel = (RelationEMHContient) object;
-
+ final RelationEMH rel = (RelationEMH) object;
if (rel.getEmh() != null && type.equals(rel.getEmh().getClass())) { return true; }
}
@@ -200,6 +228,33 @@
}
}
+ /**
+ * A utiliser avec RelationEMHContient afin de récupérer les RelationEMHSectionDansBranche dont la position est du
+ * type donné.
+ *
+ * @author deniger
+ */
+ public static class PredicateRelationEMHSectionDansBranche implements Predicate {
+
+ EnumPositionSection position;
+
+ /**
+ * @param typeOfRelatedEMH le type recherche.Si null renvoie true pour toutes les relation RelationEMHContient
+ */
+ public PredicateRelationEMHSectionDansBranche(final EnumPositionSection position) {
+ this.position = position;
+ }
+
+ public boolean evaluate(final Object object) {
+ if (object == null) { return false; }
+ if (object instanceof RelationEMHSectionDansBranche) { return position
+ .equals(((RelationEMHSectionDansBranche) object).getPos());
+
+ }
+ return false;
+ }
+ }
+
private EMHHelperPredicate() {
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -68,9 +68,11 @@
}
- public static EMHCasierProfil createCasierProfil(String nom, CrueProperties defaults) {
+ public static EMHCasierProfil createCasierProfil(String nom, CrueProperties defaults, boolean addDefault) {
EMHCasierProfil res = new EMHCasierProfil(nom);
- res.addInfosEMH(new DonCalcSansPrtCasierProfil(defaults));
+ if (addDefault) {
+ res.addInfosEMH(new DonCalcSansPrtCasierProfil(defaults));
+ }
return res;
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/LoiFactory.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/LoiFactory.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/LoiFactory.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -46,7 +46,7 @@
public static void alimenteDebutLoi(final Loi loi, final String nom, final EnumTypeLoi type) {
loi.setNom(nom);
- loi.setDescription(nom);
+ loi.setCommentaire(nom);
loi.setType(type);
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -38,6 +38,11 @@
addFileFor(files, fichierDest, CrueFileType.DC);
addFileFor(files, fichierDest, CrueFileType.DH);
super.export(files);
+ if (super.errorManager.containsFatalError()) {
+ for (File file : files.values()) {
+ file.delete();
+ }
+ }
}
@Override
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 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -166,26 +166,5 @@
}
return fileNotExist;
}
- // private boolean urlExist(final URL url) {
- // boolean exist = false;
- // try {
- // final File f = new File(url.toURI());
- // exist = f.exists();
- // } catch (final Exception e) {
- // // ce n'est pas un fichier
- // InputStream openStream = null;
- // try {
- // openStream = url.openStream();
- // exist = openStream != null;
- // } catch (final IOException e1) {
- // exist = false;
- // // LOGGER.error("warnResFileExists",e1);
- // } finally {
- // CtuluLibFile.close(openStream);
- // }
- //
- // }
- // return exist;
- // }
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -26,7 +26,7 @@
*/
public class ScenarioSaverCrue9 {
- private final CrueErrorManager errorManager;
+ protected final CrueErrorManager errorManager;
private final ManagerEMHScenario scenario;
@@ -113,8 +113,8 @@
List<EMH> all = new ArrayList<EMH>(allSimpleEMH.size() + 3);
all.add(crueData.getScenarioData());
all.addAll(allSimpleEMH);
- CtuluAnalyze validateCrue9 = propValidator.validateCrue9(all, crueData.getModele(), crueData
- .getCruePropertyDefinitionContainer(), true);
+ CtuluAnalyze validateCrue9 = propValidator.validateCrue9(all, crueData.getScenarioData(), crueData.getModele(),
+ crueData.getCruePropertyDefinitionContainer(), true);
if (validateCrue9 != null && !validateCrue9.isEmpty()) {
error.addAnalyzer(validateCrue9);
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ContentEMHValidator.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ContentEMHValidator.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ContentEMHValidator.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -5,6 +5,7 @@
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -13,6 +14,7 @@
import java.util.Set;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang.StringUtils;
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.dodico.crue.metier.emh.CalcTransItem;
import org.fudaa.dodico.crue.metier.emh.CatEMHBranche;
@@ -25,6 +27,7 @@
import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSaintVenant;
import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSeuilLateral;
import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSeuilTransversal;
+import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtCasierProfil;
import org.fudaa.dodico.crue.metier.emh.DonFrtConteneur;
import org.fudaa.dodico.crue.metier.emh.DonPrtCIniBrancheOrifice;
import org.fudaa.dodico.crue.metier.emh.DonPrtCIniBrancheSaintVenant;
@@ -53,19 +56,23 @@
import org.fudaa.dodico.crue.metier.emh.EMHSectionSansGeometrie;
import org.fudaa.dodico.crue.metier.emh.EMHSousModele;
import org.fudaa.dodico.crue.metier.emh.EnumMethodeInterpolation;
+import org.fudaa.dodico.crue.metier.emh.EnumPositionSection;
import org.fudaa.dodico.crue.metier.emh.EnumTypeEMH;
import org.fudaa.dodico.crue.metier.emh.InfosEMH;
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.dodico.crue.metier.emh.RelationEMHBrancheContientSection;
import org.fudaa.dodico.crue.metier.emh.RelationEMHSectionDansBranche;
+import org.fudaa.dodico.crue.metier.emh.RelationEMHSectionDansBrancheSaintVenant;
import org.fudaa.dodico.crue.metier.helper.EMHHelper;
import org.fudaa.dodico.crue.metier.helper.EMHHelperPredicate;
+import org.fudaa.dodico.crue.metier.helper.EMHHelperPredicate.PredicateRelationEMHContientEMHOfClass;
class ContentEMHValidator {
private static class ContentParam {
- public Class requiredType;
+ public Class<? extends EMH> requiredType;
public int minOccurence = 1;
public int maxOccurence = -1;
@@ -126,7 +133,35 @@
Map<Class, List<ContentParam>> relationSectionDansBranche;
- private void validateRelationSectionDansBranche(final CtuluAnalyze emhLog, final EMH emh) {
+ private void validateSection(final CtuluAnalyze emhLog, final EMH emh) {
+ if (emh == null || emh.getCatType() != EnumTypeEMH.SECTION) { return; }
+ PredicateRelationEMHContientEMHOfClass predicateRelationEMHContientEMHOfClass = new EMHHelperPredicate.PredicateRelationEMHContientEMHOfClass(
+ RelationEMHBrancheContientSection.class);
+ List<RelationEMHBrancheContientSection> relation = new ArrayList<RelationEMHBrancheContientSection>();
+ CollectionUtils.select(emh.getRelationEMH(), predicateRelationEMHContientEMHOfClass, relation);
+ if (relation.size() == 0) {
+ emhLog.addFatalError("validation.section.NotContainedByBranche", emh.getId());
+ } else if (relation.size() > 1) {
+ Collection select = CollectionUtils.select(emh.getRelationEMH(),
+ new EMHHelperPredicate.PredicateRelationWithEMHActivated());
+ if (select != null && select.size() > 1) {
+ CollectionUtils.transform(select, new EMHHelper.TransformerRelationToEMHId());
+ emhLog.addFatalError("validation.section.containedByMaxOneActiveBranche", emh.getId(), StringUtils.join(select,
+ ", "));
+ }
+
+ }
+ if (emh.getClass().equals(EMHSectionIdem.class)) {
+ EMHSectionIdem id = (EMHSectionIdem) emh;
+ CatEMHSection sectionRef = id.getSectionRef();
+ if (sectionRef == null || !getAuthorizedSectionRef().contains(sectionRef.getClass())) {
+ emhLog.addFatalError("validation.sectionRefWrong", emh.getId());
+ }
+
+ }
+ }
+
+ private void validateBranche(final CtuluAnalyze emhLog, final EMH emh) {
if (emh == null || emh.getCatType() != EnumTypeEMH.BRANCHE) { return; }
List<RelationEMHSectionDansBranche> sections = ((CatEMHBranche) emh).getListeSections();
if (sections == null) {
@@ -165,7 +200,8 @@
}
for (final ContentParam cp : auth) {
final int nbDansRelation = CollectionUtils.countMatches(sections,
- new EMHHelperPredicate.PredicateRelationEMHContientEMHOfClass(cp.requiredType));
+ new EMHHelperPredicate.PredicateRelationEMHContientEMHOfClass(cp.requiredType,
+ RelationEMHSectionDansBranche.class, RelationEMHSectionDansBrancheSaintVenant.class));
cp.addErrorForSectionDansBranche(nbDansRelation, emhLog, emh);
}
@@ -175,6 +211,41 @@
emhLog.addFatalError("validation.branche.mustContainSectionPilote", emh.getId());
}
}
+ Collection relationsAmont = CollectionUtils.select(sections,
+ new EMHHelperPredicate.PredicateRelationEMHSectionDansBranche(EnumPositionSection.AMONT));
+ Collection relationAval = CollectionUtils.select(sections,
+ new EMHHelperPredicate.PredicateRelationEMHSectionDansBranche(EnumPositionSection.AVAL));
+ if (relationsAmont.size() != 1) {
+ String param = StringUtils.join(CollectionUtils.collect(relationsAmont,
+ new EMHHelper.TransformerRelationToEMHId()), ", ");
+ emhLog.addFatalError("validation.branche.cantContainsOneSectionAmont", emh.getId(), param);
+ }
+ if (relationAval.size() != 1) {
+ String param = StringUtils.join(
+ CollectionUtils.collect(relationAval, new EMHHelper.TransformerRelationToEMHId()), ", ");
+ emhLog.addFatalError("validation.branche.cantContainsOneSectionAval", emh.getId(), param);
+ }
+ Set<String> idDone = new HashSet<String>();
+ Map<String, Integer> count = new HashMap<String, Integer>();
+ for (RelationEMHSectionDansBranche section : sections) {
+ String id = section.getEmh().getId();
+ if (idDone.contains(id)) {
+ Integer sum = count.get(id);
+ if (sum == null) {
+ count.put(id, Integer.valueOf(2));
+ } else {
+ count.put(id, sum++);
+ }
+
+ } else {
+ idDone.add(id);
+ }
+
+ }
+ for (Map.Entry<String, Integer> entry : count.entrySet()) {
+ emhLog.addFatalError("validation.branche.cantContainsSameSection", entry.getKey(), entry.getValue());
+
+ }
}
private static List<ContentParam> create(final ContentParam... params) {
@@ -197,7 +268,7 @@
add(EMHNoeudNiveauContinu.class, DonPrtCIniNoeudNiveauContinu.class);
}
}
- add(EMHCasierProfil.class, DonPrtGeoProfilCasier.class);
+ add(EMHCasierProfil.class, DonPrtGeoProfilCasier.class, DonCalcSansPrtCasierProfil.class);
add(EMHBranchePdc.class, DonCalcSansPrtBranchePdc.class);
add(EMHBrancheSeuilTransversal.class, DonCalcSansPrtBrancheSeuilTransversal.class);
add(EMHBrancheSeuilLateral.class, DonCalcSansPrtBrancheSeuilLateral.class);
@@ -224,22 +295,15 @@
if (CollectionUtils.isEmpty(expectedInfo)) { return; }
for (final Class infoClass : expectedInfo) {
if (!EMHHelper.containsInstanceOf(emhContenante.getInfosEMH(), infoClass)) {
- emhLog.addError("validation.emh.contains.InfoEMH", emhContenante.getId(), emhContenante.getType(), infoClass
- .getSimpleName());
+ emhLog.addFatalError("validation.emh.contains.InfoEMH", emhContenante.getId(), emhContenante.getType(),
+ infoClass.getSimpleName());
}
}
- // TODO a reactiver
- // validateRelationSectionDansBranche(emhLog, emhContenante);
- if (emhContenante.getClass().equals(EMHSectionIdem.class)) {
- EMHSectionIdem id = (EMHSectionIdem) emhContenante;
- CatEMHSection sectionRef = id.getSectionRef();
- if (sectionRef == null || !getAuthorizedSectionRef().contains(sectionRef.getClass())) {
- emhLog.addFatalError("validation.sectionRefWrong", emhContenante.getId());
- }
+ validateBranche(emhLog, emhContenante);
+ validateSection(emhLog, emhContenante);
- }
final List<CalcTransItem> trans = EMHHelper.collectInstanceOf(emhContenante.getDCLM(), CalcTransItem.class);
if (trans != null) {
for (final CalcTransItem calcTransItem : trans) {
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/Crue9Validator.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/Crue9Validator.java 2010-03-05 17:03:46 UTC (rev 5704)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/Crue9Validator.java 2010-03-06 01:30:55 UTC (rev 5705)
@@ -4,6 +4,7 @@
package org.fudaa.dodico.crue.validation;
import java.util.Arrays;
+import java.util.Collection;
import java.util.List;
import java.util.Set;
@@ -11,12 +12,18 @@
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.CtuluLib;
import org.fudaa.dodico.crue.common.CommonMessages;
+import org.fudaa.dodico.crue.comparaison.tester.EqualsTesterLoi;
+import org.fudaa.dodico.crue.comparaison.tester.FactoryEqualsTester;
import org.fudaa.dodico.crue.metier.emh.CalcPseudoPerm;
import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermBrancheSaintVenantQruis;
import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermCasierProfilQruis;
+import org.fudaa.dodico.crue.metier.emh.CalcTrans;
+import org.fudaa.dodico.crue.metier.emh.CalcTransBrancheSaintVenantQruis;
import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSaintVenant;
import org.fudaa.dodico.crue.metier.emh.EMH;
import org.fudaa.dodico.crue.metier.emh.EMHModeleBase;
+import org.fudaa.dodico.crue.metier.emh.EMHScenario;
+import org.fudaa.dodico.crue.metier.emh.LoiDF;
import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario;
import org.fudaa.dodico.crue.metier.helper.EMHHelper;
import org.fudaa.dodico.crue.property.CrueProperties;
@@ -31,8 +38,6 @@
boolean isQdmDifferent;
final double defaultBeta;
- final double defaultQruis;
- final double defaultQdm;
final double epsBeta;
final double epsQdm;
final CrueProperties props;
@@ -49,8 +54,6 @@
res.setDefaultResourceBundle(CommonMessages.RESOURCE_BUNDLE);
res.setDesc(CommonMessages.getString("validation.crue9"));
defaultBeta = props.getDefaultDoubleValue("coefBeta");
- defaultQruis = props.getDefaultDoubleValue("qRuis");
- defaultQdm = props.getDefaultDoubleValue("coefRuisQdm");
epsQdm = props.getEpsilon("coefRuisQdm");
epsBeta = props.getEpsilon("coefBeta");
}
@@ -69,13 +72,12 @@
final List<CalcPseudoPerm> calcPseudoPerm = EMHHelper.collectCalcPseudoPerm(ocal.getOrdCalc());
for (final CalcPseudoPerm calcPerm : calcPseudoPerm) {
// Il faut au moins une branche saint venant pour considérer qu'il y a un débit de ruissellement (identique)
- final List<CalcPseudoPermBrancheSaintVenantQruis> calcQruis = calcPerm
- .getCalcPseudoPermBrancheSaintVenantQruis();
+ final List<CalcPseudoPermBrancheSaintVenantQruis> calcQruis = calcPerm.getCalcPseudoPermBrancheSaintVenantQruis();
final List<CalcPseudoPermCasierProfilQruis> calcCasierQruis = calcPerm.getCalcPseudoPermCasierProfilQruis();
if (CollectionUtils.isNotEmpty(calcQruis) || CollectionUtils.isNotEmpty(calcCasierQruis)) {
final Double qruis = EMHHelper.isQruisConstant(calcPerm, props);
if (qruis == null) {
- addMessage("crue9.compatible.Qruis.NotConstant", Double.toString(defaultQruis), calcPerm.getNom());
+ addMessage("crue9.compatible.Qruis.NotConstant", calcPerm.getNom());
}
}
}
@@ -93,7 +95,7 @@
coefRuisQdmInit = true;
} else if (!CtuluLib.isEquals(value, coefRuisQdm, epsQdm)) {
isQdmDifferent = true;
- addMessage("crue9.compatible.coefRuisQdm.notConstant", Double.toString(defaultQdm));
+ addMessage("crue9.compatible.coefRuisQdm.notConstant");
}
}
}
@@ -121,4 +123,43 @@
computeQruis(object);
}
}
+
+ public void validateOrdCalcScenario(final EMHScenario emh) {
+ OrdCalcScenario ordCalcScenario = emh.getOrdCalcScenario();
+ final List<CalcTrans> calcsTrans = EMHHelper.collectCalcTrans(ordCalcScenario.getOrdCalc());
+ validateTQruis(calcsTrans);
+ }
+
+ private void validateTQruis(List<CalcTrans> calcTrans) {
+ if (CollectionUtils.isEmpty(calcTrans)) { return; }
+ if (calcTrans.size() > 1) {
+ addMessage("crue9.compatible.calcTransMoreThanOne");
+ }
+ final Collection<CalcTransBrancheSaintVenantQruis> listeBranchesSV = calcTrans.get(0)
+ .getCalcTransBrancheSaintVenantQruis();
+ if (CollectionUtils.isEmpty(listeBranchesSV)) { return; }
+
+ // final CalcTransBrancheSaintVenantQruis brancheSV = listeBranchesSV.iterator().next();
+ LoiDF loiCommun = null;
+ EqualsTesterLoi tester = null;
+ for (final CalcTransBrancheSaintVenantQruis venantQruis : listeBranchesSV) {
+ if (loiCommun == null) {
+ loiCommun = venantQruis.getLoiTQruis();
+ }
+ // on ne lance pas la comparaison si les lois sont les meme
+ else if (!venantQruis.getLoiTQruis().getId().equals(loiCommun.getId())) {
+ if (tester == null) {
+ tester = new Eq...
[truncated message content] |