From: <de...@us...> - 2009-12-13 23:35:11
|
Revision: 5561 http://fudaa.svn.sourceforge.net/fudaa/?rev=5561&view=rev Author: deniger Date: 2009-12-13 23:34:59 +0000 (Sun, 13 Dec 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterBean.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueDataImpl.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCSP.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/neuf/Crue9ResPrtAdapter.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/DCFileWriter.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/io/neuf/STOReader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRSequentialReader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHRun.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHConteneur.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCLimMCommon.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrt.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrtConteneur.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonGeoLoc.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonLoiHYConteneur.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtCIni.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtCIniBranche.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeo.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMH.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHModeleBase.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHSousModele.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/InfosEMH.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/LitUtile.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdCalcScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdPrtCIniModeleBase.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdPrtGeoModeleBase.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResBrancheBarrageFilEau.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResBrancheBarrageGenerique.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResBrancheOrifice.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResBranchePdc.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResBrancheSaintVenant.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResBrancheSeuilLateral.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResBrancheSeuilTransversal.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResBrancheStrickler.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResCasierProfil.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResNoeudNiveauContinu.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResSectionIdem.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResSectionInterpolee.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResSectionProfil.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdResSectionSansGeometrie.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ParamCalcScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ParamNumModeleBase.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/PdtCst.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/PtProfil.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtCIni.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeo.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeoCasierContainer.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeoSectionContainer.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtReseau.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/projet/ScenarioExporterCrue9.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10.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/ScenarioSaverCrue10.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/property/PropertyValidator.java 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/ValidateEMHProperties.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/comparaison/io/default-comparaison.xml trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dpti-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/io/TestCrueDCSPFile.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/TestCrueDPTIFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDRSOFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/metier/helper/TestEMHHelper.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/EMHGeneralBuilder.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractInfosEMH.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/EMHHelperPredicate.java Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterBean.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterBean.java 2009-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterBean.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -15,6 +15,7 @@ import org.apache.commons.lang.StringUtils; import org.fudaa.dodico.crue.common.CustomPropertyUtilsBeanInstaller; import org.fudaa.dodico.crue.comparaison.common.ComparaisonMessages; +import org.fudaa.dodico.crue.metier.emh.ObjetNomme; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -128,7 +129,7 @@ if (b != null) { final EqualsTester resTester = getTesterToUse(o1, name, context, b); if (resTester == null) { return true; } - addDiff(res, name, a, b); + addDiff(o1, res, name, a, b); return false; } @@ -137,7 +138,7 @@ if (tester == null) { return true; } final boolean resB = tester.isSame(a, b, null, context); if (!resB) { - addDiff(res, name, a, b); + addDiff(o1, res, name, a, b); return false; } } @@ -168,9 +169,11 @@ return propToCompare != null && propToCompare.contains(name); } - private void addDiff(final ResultatTest res, final String propName, final Object a, final Object b) { + private void addDiff(final Object o1, final ResultatTest res, final String propName, final Object a, final Object b) { if (res != null) { - final ResultatTest item = new ResultatTest(a, b, ComparaisonMessages.getString("compare.property.diff", propName)); + String pref = (o1 instanceof ObjetNomme) ? ((ObjetNomme) o1).getId() + ": " : StringUtils.EMPTY; + final ResultatTest item = new ResultatTest(a, b, pref + + ComparaisonMessages.getString("compare.property.diff", propName)); item.updatePrint(); res.addDiff(item); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueDataImpl.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueDataImpl.java 2009-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueDataImpl.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -52,15 +52,15 @@ * @return CrueData correspondant au scenario n'ayant un seul modele */ public static CrueData buildConcatFor(final EMHScenario sc) { - final List<EMHModeleBase> fils = EMHHelper.getEMHInRelationEMHContient(sc, EnumTypeEMH.MODELE); + final List<EMHModeleBase> fils = EMHHelper.collectEMHInRelationEMHContient(sc, EnumTypeEMH.MODELE); if (fils.size() > 1) { return null; } final EMHModeleBase base = fils.get(0); - return new CrueDataImpl(sc, base, base.getConcatSousModele()); + return new CrueDataImpl(sc, base, base.getConcatSousModele(), sc.getPropertyDefinitionContainer()); } public static CrueData buildConcatFor(final EMHScenario sc, final EMHModeleBase conteneur) { - return new CrueDataImpl(sc, conteneur, conteneur.getConcatSousModele()); + return new CrueDataImpl(sc, conteneur, conteneur.getConcatSousModele(), sc.getPropertyDefinitionContainer()); } @@ -70,13 +70,14 @@ * @param conteneur le conteneur * @return le crueData qui va bien */ - public static CrueData buildFor(final CatEMHConteneur conteneur) { + public static CrueData buildFor(final CatEMHConteneur conteneur, + final CruePropertyDefinitionContainer propertyDefContainer) { if (conteneur.getCatType().equals(EnumTypeEMH.SCENARIO)) { return new CrueDataImpl((EMHScenario) conteneur, null, - ((EMHScenario) conteneur).getConcatSousModele()); } + ((EMHScenario) conteneur).getConcatSousModele(), propertyDefContainer); } if (conteneur.getCatType().equals(EnumTypeEMH.MODELE)) { return new CrueDataImpl(null, (EMHModeleBase) conteneur, - ((EMHModeleBase) conteneur).getConcatSousModele()); } + ((EMHModeleBase) conteneur).getConcatSousModele(), propertyDefContainer); } if (conteneur.getCatType().equals(EnumTypeEMH.SOUS_MODELE)) { return new CrueDataImpl(null, null, - (EMHSousModele) conteneur); } + (EMHSousModele) conteneur, propertyDefContainer); } return null; } @@ -120,34 +121,39 @@ * * @param crue9ContientDistmax true si contient distmax */ - public void setCrue9ContientDistmax(boolean crue9ContientDistmax) { + public void setCrue9ContientDistmax(final boolean crue9ContientDistmax) { this.crue9ContientDistmax = crue9ContientDistmax; } + final CruePropertyDefinitionContainer propertyDefContainer; + /** * Données STO */ private STOSequentialReader sto; - public CrueDataImpl(CruePropertyDefinitionContainer propertyDefContainer) { + public CrueDataImpl(final CruePropertyDefinitionContainer propertyDefContainer) { this(new EMHNoeudFactory(), propertyDefContainer); } - public CrueDataImpl(EMHNoeudFactory nodeFactory, CruePropertyDefinitionContainer propertyDefContainer) { + public CrueDataImpl(final EMHNoeudFactory nodeFactory, final CruePropertyDefinitionContainer propertyDefContainer) { scenarioData = new EMHScenario(propertyDefContainer); + this.propertyDefContainer = propertyDefContainer; ssModele = new EMHSousModele(); modele = new EMHModeleBase(); this.nodeFactory = nodeFactory; } - public CrueDataImpl(final EMHScenario scenarioData, final EMHModeleBase modele, final EMHSousModele ssModele) { + public CrueDataImpl(final EMHScenario scenarioData, final EMHModeleBase modele, final EMHSousModele ssModele, + final CruePropertyDefinitionContainer propertyDefContainer) { super(); + this.propertyDefContainer = propertyDefContainer; this.scenarioData = scenarioData; this.ssModele = ssModele; this.modele = modele; nodeFactory = new EMHNoeudFactory(); if (ssModele != null) { - List<CatEMHNoeud> noeuds = ssModele.getNoeuds(); + final List<CatEMHNoeud> noeuds = ssModele.getNoeuds(); if (CollectionUtils.isNotEmpty(noeuds)) { nodeFactory.addAll(noeuds); } @@ -155,10 +161,10 @@ } public CruePropertyDefinitionContainer getCruePropertyDefinitionContainer() { - return scenarioData.getPropertyDefinitionContainer(); + return propertyDefContainer; } - public EMHNoeudNiveauContinu createNode(String id) { + public EMHNoeudNiveauContinu createNode(final String id) { return this.nodeFactory.getNode(id); } @@ -180,33 +186,33 @@ } public CatEMHBranche findBrancheByReference(final String ref) { - return EMHHelper.getEMHInRelationEMHContientByRef(ssModele, ref, EnumTypeEMH.BRANCHE); + return EMHHelper.selectEMHInRelationEMHContientByRef(ssModele, ref, EnumTypeEMH.BRANCHE); } public Calc findCalcByNom(final String nom) { final DonCLimMScenario in = getConditionsLim(); if (in == null) { return null; } - Calc res = EMHHelper.findObjectNomme(in.getCalcPseudoPerm(), nom); + Calc res = EMHHelper.selectObjectNomme(in.getCalcPseudoPerm(), nom); if (res == null) { - res = EMHHelper.findObjectNomme(in.getCalcTrans(), nom); + res = EMHHelper.selectObjectNomme(in.getCalcTrans(), nom); } return res; } public CatEMHCasier findCasierByReference(final String ref) { - return EMHHelper.getEMHInRelationEMHContientByRef(ssModele, ref, EnumTypeEMH.CASIER); + return EMHHelper.selectEMHInRelationEMHContientByRef(ssModele, ref, EnumTypeEMH.CASIER); } public EMH findEMHByReference(final String ref) { - return EMHHelper.getEMHInRelationEMHContientByRef(ssModele, ref); + return EMHHelper.selectEMHInRelationEMHContientByRef(ssModele, ref); } public CatEMHNoeud findNoeudByReference(final String ref) { - return EMHHelper.getEMHInRelationEMHContientByRef(ssModele, ref, EnumTypeEMH.NOEUD); + return EMHHelper.selectEMHInRelationEMHContientByRef(ssModele, ref, EnumTypeEMH.NOEUD); } public CatEMHSection findSectionByReference(final String ref) { - return EMHHelper.getEMHInRelationEMHContientByRef(ssModele, ref, EnumTypeEMH.SECTION); + return EMHHelper.selectEMHInRelationEMHContientByRef(ssModele, ref, EnumTypeEMH.SECTION); } /** @@ -225,27 +231,27 @@ } public List<CatEMHBranche> getBranches() { - return EMHHelper.getEMHInRelationEMHContient(ssModele, EnumTypeEMH.BRANCHE); + return EMHHelper.collectEMHInRelationEMHContient(ssModele, EnumTypeEMH.BRANCHE); } public List<EMHBrancheSaintVenant> getBranchesSaintVenant() { - return EMHHelper.selectClass(EMHHelper.getEMHInRelationEMHContient(ssModele, EnumTypeEMH.BRANCHE), + return EMHHelper.collectClass(EMHHelper.collectEMHInRelationEMHContient(ssModele, EnumTypeEMH.BRANCHE), EMHBrancheSaintVenant.class); } public List<CatEMHCasier> getCasiers() { - return EMHHelper.getEMHInRelationEMHContient(ssModele, EnumTypeEMH.CASIER); + return EMHHelper.collectEMHInRelationEMHContient(ssModele, EnumTypeEMH.CASIER); } /** * @return the conditionsLim */ public DonCLimMScenario getConditionsLim() { - return (DonCLimMScenario) EMHHelper.getInfoEMH(scenarioData, EnumInfosEMH.DON_CLIM_SCENARIO); + return (DonCLimMScenario) EMHHelper.selectInfoEMH(scenarioData, EnumInfosEMH.DON_CLIM_SCENARIO); } public DonFrtConteneur getFrottements() { - return (DonFrtConteneur) EMHHelper.getInfoEMH(ssModele, EnumInfosEMH.DON_FRT_CONTENEUR); + return (DonFrtConteneur) EMHHelper.selectInfoEMH(ssModele, EnumInfosEMH.DON_FRT_CONTENEUR); } public DonLoiHYConteneur getLoiConteneur() { @@ -260,7 +266,7 @@ } public OrdPrtCIniModeleBase getMethodesInterpolation() { - return (OrdPrtCIniModeleBase) EMHHelper.getInfoEMH(modele, EnumInfosEMH.ORD_PRT_CINI_MODELE_BASE); + return (OrdPrtCIniModeleBase) EMHHelper.selectInfoEMH(modele, EnumInfosEMH.ORD_PRT_CINI_MODELE_BASE); } public EMHModeleBase getModele() { @@ -268,7 +274,7 @@ } public List<CatEMHNoeud> getNoeuds() { - return EMHHelper.getEMHInRelationEMHContient(ssModele, EnumTypeEMH.NOEUD); + return EMHHelper.collectEMHInRelationEMHContient(ssModele, EnumTypeEMH.NOEUD); } /** @@ -291,11 +297,11 @@ } public ParamNumModeleBase getParamNumModeleBase() { - return (ParamNumModeleBase) EMHHelper.getInfoEMH(modele, EnumInfosEMH.PARAM_NUM_MODELE_BASE); + return (ParamNumModeleBase) EMHHelper.selectInfoEMH(modele, EnumInfosEMH.PARAM_NUM_MODELE_BASE); } public OrdPrtGeoModeleBase getPretraitementsGeom() { - return (OrdPrtGeoModeleBase) EMHHelper.getInfoEMH(modele, EnumInfosEMH.ORD_PRT_GEO_MODELE_BASE); + return (OrdPrtGeoModeleBase) EMHHelper.selectInfoEMH(modele, EnumInfosEMH.ORD_PRT_GEO_MODELE_BASE); } // /** @@ -313,7 +319,7 @@ } public List<CatEMHSection> getSections() { - return EMHHelper.getEMHInRelationEMHContient(ssModele, EnumTypeEMH.SECTION); + return EMHHelper.collectEMHInRelationEMHContient(ssModele, EnumTypeEMH.SECTION); } public EMHSousModele getSousModele() { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCSP.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCSP.java 2009-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCSP.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -135,7 +135,7 @@ final List<CatEMHCasier> casiers = data.getCasiers(); if (CollectionUtils.isNotEmpty(casiers)) { for (final CatEMHCasier casier : casiers) { - final List<DonCalcSansPrtCasierProfil> listeDoncalc = EMHHelper.selectClass(casier.getDCSP(), + final List<DonCalcSansPrtCasierProfil> listeDoncalc = EMHHelper.collectClass(casier.getDCSP(), DonCalcSansPrtCasierProfil.class); if (CollectionUtils.isNotEmpty(listeDoncalc)) { if (listeDoncalc.size() > 1) { 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-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTG.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -109,7 +109,7 @@ } } List<InfosEMH> infosEMH = metier.getSousModele().getInfosEMH(); - final List<DonPrtGeoProfilSection> selectClass = EMHHelper.selectClass(infosEMH, DonPrtGeoProfilSection.class); + final List<DonPrtGeoProfilSection> selectClass = EMHHelper.collectClass(infosEMH, DonPrtGeoProfilSection.class); for (final DonPrtGeoProfilSection donPrtGeoProfilSection : selectClass) { saveDonPrtGeoProfilSection(analyser, res, listeProfilUniqueReference, donPrtGeoProfilSection); @@ -308,7 +308,7 @@ // -- recherche de référence au bon DonFrt --// if (litPersist.Frot != null) { final String idFrottement = litPersist.Frot.NomRef; - final DonFrt frottement = EMHHelper.findObjectNomme(frottements, idFrottement); + final DonFrt frottement = EMHHelper.selectObjectNomme(frottements, idFrottement); if (frottement != null) { litNum.setFrot(frottement); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/Crue9ResPrtAdapter.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/Crue9ResPrtAdapter.java 2009-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/Crue9ResPrtAdapter.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -36,7 +36,7 @@ } @Override - public ResPrtGeoCasier readResultat() { + public ResPrtGeoCasier getResultat() { return res; } 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-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -3,6 +3,7 @@ import java.io.EOFException; import java.io.IOException; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -35,6 +36,7 @@ import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtCasierProfil; import org.fudaa.dodico.crue.metier.emh.DonFrt; import org.fudaa.dodico.crue.metier.emh.DonFrtStrickler; +import org.fudaa.dodico.crue.metier.emh.DonPrtCIniCasierProfil; import org.fudaa.dodico.crue.metier.emh.DonPrtGeoBatiCasier; import org.fudaa.dodico.crue.metier.emh.DonPrtGeoBrancheSaintVenant; import org.fudaa.dodico.crue.metier.emh.DonPrtGeoProfilCasier; @@ -74,6 +76,7 @@ import org.fudaa.dodico.crue.metier.emh.PtProfil; import org.fudaa.dodico.crue.metier.emh.Regle; import org.fudaa.dodico.crue.metier.emh.RelationEMH; +import org.fudaa.dodico.crue.metier.emh.RelationEMHBrancheContientSection; import org.fudaa.dodico.crue.metier.emh.RelationEMHSectionDansBranche; import org.fudaa.dodico.crue.metier.emh.ValParamEntier; import org.fudaa.dodico.crue.metier.helper.EMHHelper; @@ -325,9 +328,9 @@ final List<RelationEMHSectionDansBranche> sectionEMH = branche.getListeSections(); if (CollectionUtils.isEmpty(sectionEMH)) { return; } - branche.getRelationEMH().removeAll(sectionEMH); + branche.removeAllRelations(sectionEMH); // branche.getRelationEMH().add(relation2); - branche.getRelationEMH().add(sectionEMH.get(0)); + branche.addRelationEMH(sectionEMH.get(0)); for (int i = 0; i < sectionEMH.size() - 1; i++) { final RelationEMHSectionDansBranche relation1 = sectionEMH.get(i); // -- si la relation concerne les sections --// @@ -359,12 +362,12 @@ .getCruePropertyDefinitionContainer()); // -- ajout dans metier --// data.add(interpol); - branche.getRelationEMH().add(relation); + branche.addRelationEMH(relation); } } - branche.getRelationEMH().add(relation2); + branche.addRelationEMH(relation2); } } @@ -519,7 +522,7 @@ List<PtEvolutionFF> listePoints = new ArrayList<PtEvolutionFF>(); listeEvolution.setPtEvolutionFF(listePoints); LoiFF newLoi = new LoiFF(); - newLoi.setNom(CruePrefix.getNom(EnumTypeLoi.LoiQZam, idBranche)); + newLoi.setNom(CruePrefix.changePrefix(idBranche, CruePrefix.P_BRANCHE, EnumTypeLoi.LoiQZam)); newLoi.setType(EnumTypeLoi.LoiQZam); newLoi.setEvolutionFF(listeEvolution); dataDCSP.setLoiQZam(newLoi); @@ -527,7 +530,7 @@ listePoints = new ArrayList<PtEvolutionFF>(); listeEvolution.setPtEvolutionFF(listePoints); newLoi = new LoiFF(); - newLoi.setNom(CruePrefix.getNom(EnumTypeLoi.LoiQDz, idBranche)); + newLoi.setNom(CruePrefix.changePrefix(idBranche, CruePrefix.P_BRANCHE, EnumTypeLoi.LoiQDz)); newLoi.setType(EnumTypeLoi.LoiQDz); newLoi.setEvolutionFF(listeEvolution); dataDCSP.setLoiQDz(newLoi); @@ -861,7 +864,9 @@ branche.addInfosEMH(dataDCSP); // -- la donnée DPTG de st venant --// - DonPrtGeoBrancheSaintVenant dataDPTG = null; + final DonPrtGeoBrancheSaintVenant dataDPTG = new DonPrtGeoBrancheSaintVenant(metier + .getCruePropertyDefinitionContainer()); + branche.addInfosEMH(dataDPTG); // String nomSectionPilote = null; double distMAX = 0; // -- la liste des sections branches --// @@ -940,7 +945,7 @@ // -- SINUO de DCSP--// if (typeLigne.toUpperCase().equals(CrueIODico.BRANCHE_SINUO)) { // -- concerne données DPTG --// - dataDPTG = new DonPrtGeoBrancheSaintVenant(metier.getCruePropertyDefinitionContainer()); + // ex SINUO 600.0 500.0 (si LongMineur = 600 m et LongMajeur = 500 m) : final double longMineur = in_.doubleField(1); @@ -948,7 +953,6 @@ final double coeff = longMineur / longMajeur; dataDPTG.setCoefSinuo(coeff); - branche.addInfosEMH(dataDPTG); } else { errorCarteNotRecognized(typeLigne); @@ -1320,6 +1324,8 @@ newCasier.setNoeud(noeudRef); } + // on ajoute la valeur par défaut pour dpti: + newCasier.addInfosEMH(new DonPrtCIniCasierProfil(metier.getCruePropertyDefinitionContainer())); metier.add(newCasier); // -- listes des X/Z --// @@ -1573,7 +1579,7 @@ // -- on recherche la reference du frottement sinon on ajoute --// DonFrt frottements = null; if (metier.getFrottements() != null) { - frottements = EMHHelper.findDFRTByReference(reference, metier.getFrottements()); + frottements = EMHHelper.selectDFRTByReference(reference, metier.getFrottements()); } // -- ajout du frottements associé au profil --// if (frottements != null) { @@ -2051,6 +2057,7 @@ metier.add(sectionCree); } else { replaceSection(metier, sectionToreplace, sectionCree); + } lireSuite(); // // -- on remplace les relations et les infos emh --// @@ -2088,13 +2095,19 @@ private void replaceSection(final CrueData metier, final CatEMHSection sectionToreplace, final CatEMHSection newSection) { if (sectionToreplace != null) { - final List<RelationEMH> relationContenant = EMHHelper.getDeepRelationEMHsByRef(metier.getSousModele(), + final List<RelationEMH> relationContenant = EMHHelper.collectDeepRelationEMHsByRef(metier.getSousModele(), sectionToreplace.getNom()); if (relationContenant != null) { for (final RelationEMH relationEMH : relationContenant) { relationEMH.setEmh(newSection); } } + // on met a jour les relations. + Collection<RelationEMHBrancheContientSection> findRelationOfType = EMHHelper.selectRelationOfType( + sectionToreplace, RelationEMHBrancheContientSection.class); + for (RelationEMHBrancheContientSection relationToChange : findRelationOfType) { + newSection.addRelationEMH(relationToChange); + } // EMHBrancheHelper.replaceSectioninAllConnectedBranche(sectionToreplace, newSection, metier.getBranches()); // metier.getSections().remove(sectionToreplace); } @@ -2164,11 +2177,13 @@ } else if (upperCase.equals(CrueIODico.R_DXMAX)) { regle = new Regle(EnumRegle.PDX_MAX); regle.setActive(true); - regle.setValParam(new ValParamEntier(regle.getValParamNom(), (int) in_.doubleField(1))); + // regle.setValParam(new ValParamEntier(regle.getValParamNom(), (int) in_.doubleField(1))); + regle.setSeuilDetect(in_.doubleField(1)); } else if (upperCase.equals(CrueIODico.R_VDXMAX)) { regle = new Regle(EnumRegle.VAR_PDX_MAX); regle.setActive(true); regle.setValParam(new ValParamEntier(regle.getValParamNom(), (int) in_.doubleField(1))); + // regle.setSeuilDetect(in_.doubleField(1)); } else if (upperCase.equals(CrueIODico.R_PENMAX)) { regle = new Regle(EnumRegle.PENTE_MAX); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java 2009-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -237,7 +237,6 @@ } else if (EnumRegle.VAR_PDX_MAX.equals(regle.getType())) { final ValParamEntier val = (ValParamEntier) regle.getValParam(); final int var = val.getValeur(); - // if (Math.abs(DefaultValues.PM_VAR_PDX_MAX - var) > 1) { fortranWriter.stringField(0, CrueIODico.R_VDXMAX); fortranWriter.intField(1, var); fortranWriter.writeFields(); @@ -446,7 +445,7 @@ } } - DonPrtGeoBatiCasier batiCasier = EMHHelper.getFirstOfClass(dptgList, DonPrtGeoBatiCasier.class); + DonPrtGeoBatiCasier batiCasier = EMHHelper.selectFirstOfClass(dptgList, DonPrtGeoBatiCasier.class); if (batiCasier != null) { fortranWriter.stringField(0, CrueIODico.SBATI); // batiCasier.setSplanBati(in_.doubleField(1)); @@ -1036,13 +1035,12 @@ } // -- ecriture des profils --// - if (branche.getRelationEMH() != null) { + if (branche.isRelationsEMHNotEmpty()) { boolean exist = false; int indiceFortran = 0; int tailleTotale = 10; fortranWriter.stringField(indiceFortran++, CrueIODico.BRANCHE_PROF); - for (final RelationEMH relation : branche.getRelationEMH()) { if (relation.getEmh() != null && relation.getEmh() instanceof CatEMHSection) { 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-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -68,6 +68,8 @@ import org.fudaa.dodico.crue.metier.emh.Loi; import org.fudaa.dodico.crue.metier.emh.LoiDF; import org.fudaa.dodico.crue.metier.emh.LoiFF; +import org.fudaa.dodico.crue.metier.emh.OrdCalcPseudoPerm; +import org.fudaa.dodico.crue.metier.emh.OrdCalcPseudoPermIniCalcCI; import org.fudaa.dodico.crue.metier.emh.OrdCalcPseudoPermIniCalcPrecedent; import org.fudaa.dodico.crue.metier.emh.OrdCalcPseudoPermIniCalcReprise; import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario; @@ -411,7 +413,7 @@ } else if (!br.getClass().equals(EMHBrancheSaintVenant.class)) { analyze_.addWarn("dh.ref.coefRuis.definiPourBrancheNonSaintVenant", brancheName); } else { - final List<DonCalcSansPrtBrancheSaintVenant> dcsps = EMHHelper.selectClass(br.getDCSP(), + final List<DonCalcSansPrtBrancheSaintVenant> dcsps = EMHHelper.collectClass(br.getDCSP(), DonCalcSansPrtBrancheSaintVenant.class); if (CollectionUtils.isEmpty(dcsps)) { final DonCalcSansPrtBrancheSaintVenant newInfosEMH = new DonCalcSansPrtBrancheSaintVenant(dataLinked @@ -539,7 +541,7 @@ analyze_.addWarn("io.dh.ref.emhnoeud.Zini.error", noeudName); } else { - final List<DonPrtCIniNoeudNiveauContinu> dptis = EMHHelper.selectClass(noeud.getInfosEMH(), + final List<DonPrtCIniNoeudNiveauContinu> dptis = EMHHelper.collectClass(noeud.getInfosEMH(), DonPrtCIniNoeudNiveauContinu.class); if (CollectionUtils.isEmpty(dptis)) { final DonPrtCIniNoeudNiveauContinu newInfosEMH = new DonPrtCIniNoeudNiveauContinu(res @@ -587,13 +589,12 @@ analyze_.addWarn("io.dh.ref.emhnoeud.coefRuis.noCasier.error", noeudName); } else { - final List<DonCalcSansPrtCasierProfil> dptis = EMHHelper.selectClass(casier.getInfosEMH(), + final List<DonCalcSansPrtCasierProfil> dptis = EMHHelper.collectClass(casier.getInfosEMH(), DonCalcSansPrtCasierProfil.class); if (CollectionUtils.isEmpty(dptis)) { // TODO trop bizarre ! pas un coef ! final DonCalcSansPrtCasierProfil cini = new DonCalcSansPrtCasierProfil(res .getCruePropertyDefinitionContainer()); - cini.setCoefRuis(0);// d'apres la doc; noeud.addInfosEMH(cini); } for (final DonCalcSansPrtCasierProfil condInit : dptis) { @@ -615,9 +616,6 @@ List<DonPrtCIni> dptis = br.getDPTI(); if (CollectionUtils.isEmpty(dptis)) { if (br instanceof EMHBrancheSaintVenant) { - // if (emh.getInfosEMH() == null) { - // emh.setListeInfosEMH(new ArrayList<InfosEMH>()); - // } final DonPrtCIniBrancheSaintVenant condInit = new DonPrtCIniBrancheSaintVenant(res .getCruePropertyDefinitionContainer()); condInit.setQini(debitInitial); @@ -813,7 +811,7 @@ EnumSensOuv newSensOuv = (EnumSensOuv) enumSensOuvMapCrue9.fromString(CtuluLibString.getString(limtyp)); calcPseudoPerm.setSensOuv(newSensOuv); - DonPrtCIniBrancheOrifice cini = EMHHelper.getFirstOfClass(branche.getInfosEMH(), + DonPrtCIniBrancheOrifice cini = EMHHelper.selectFirstOfClass(branche.getInfosEMH(), DonPrtCIniBrancheOrifice.class); if (cini == null) { cini = new DonPrtCIniBrancheOrifice(res.getCruePropertyDefinitionContainer()); @@ -926,13 +924,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()) { + boolean first = ocal.getOrdCalc().isEmpty(); + if (reprise != null && first) { reprise.setCalcPseudoPerm(calcPerm); ocal.addOrdCalc(reprise); } else { - final OrdCalcPseudoPermIniCalcPrecedent iniPrec = new OrdCalcPseudoPermIniCalcPrecedent(); + final OrdCalcPseudoPerm iniPrec = first ? new OrdCalcPseudoPermIniCalcCI() + : new OrdCalcPseudoPermIniCalcPrecedent(); iniPrec.setCalcPseudoPerm(calcPerm); - ocal.addOrdCalc(reprise); + ocal.addOrdCalc(iniPrec); } // final List<EMH> listeRefs = new ArrayList<EMH>(); // calcPerm.setListeRefs(listeRefs); @@ -1019,7 +1019,7 @@ } if (!emhsWithDPTIInitialized.contains(emh.getId())) { emhsWithDPTIInitialized.add(emh.getId()); - final DonPrtCIniBrancheOrifice cti = EMHHelper.getFirstOfClass(emh.getInfosEMH(), + final DonPrtCIniBrancheOrifice cti = EMHHelper.selectFirstOfClass(emh.getInfosEMH(), DonPrtCIniBrancheOrifice.class); if (cti != null) {// que faire si null ? cti.setOuv(conlimi); @@ -1048,7 +1048,7 @@ brancheSV.setEmh(emh); } } - final List<EMHCasierProfil> casiers = EMHHelper.selectClass(res.getCasiers(), EMHCasierProfil.class); + final List<EMHCasierProfil> casiers = EMHHelper.collectClass(res.getCasiers(), EMHCasierProfil.class); for (int i = 0, imax = casiers.size(); i < imax; i++) {// NOPMD ok final EMHCasierProfil emh = casiers.get(i); final CalcPseudoPermCasierProfilQruis calcCasier = new CalcPseudoPermCasierProfilQruis(res @@ -1541,7 +1541,7 @@ final DonLoiHYConteneur dlhy = res.getLoiConteneur(); final List<EMHBrancheSaintVenant> branches = res.getBranchesSaintVenant(); - final String nomLoi = CruePrefix.getNom(EnumTypeLoi.LoiTQruis, calcTrans.getNom()); + final String nomLoi = CruePrefix.changePrefix(calcTrans.getNom(), CruePrefix.P_BRANCHE, EnumTypeLoi.LoiTQruis); final LoiDF loiDF = new LoiDF(); LoiFactory.alimenteDebutLoiDF(loiDF, nomLoi, EnumTypeLoi.LoiTQruis); loiDF.setEvolutionFF(evolutionFF); @@ -1600,7 +1600,7 @@ if (nncTrans instanceof CalcTransNoeudNiveauContinuQapp) { - nomLoi = CruePrefix.getNom(EnumTypeLoi.LoiTQapp, nomEmh); + nomLoi = CruePrefix.changePrefix(nomEmh, CruePrefix.P_NOEUD, EnumTypeLoi.LoiTQapp); final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois()); if (loi == null) { final LoiDF loiDF = new LoiDF(); @@ -1616,7 +1616,7 @@ } else if (nncTrans instanceof CalcTransNoeudNiveauContinuLimnigramme) { - nomLoi = CruePrefix.getNom(EnumTypeLoi.LoiTZ, nomEmh); + nomLoi = CruePrefix.changePrefix(nomEmh, CruePrefix.P_NOEUD, EnumTypeLoi.LoiTZ); final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois()); if (loi == null) { final LoiDF loiDF = new LoiDF(); @@ -1632,7 +1632,7 @@ } else if (nncTrans instanceof CalcTransNoeudNiveauContinuTarage) { - nomLoi = CruePrefix.getNom(EnumTypeLoi.LoiQZ, nomEmh); + nomLoi = CruePrefix.changePrefix(nomEmh, CruePrefix.P_NOEUD, EnumTypeLoi.LoiQZ); final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois()); if (loi == null) { final LoiFF loiFF = new LoiFF(); @@ -1667,7 +1667,8 @@ if (brancheOrManoeuvre.getNomCalculParent() != null && brancheOrManoeuvre.getNomCalculParent().equals(calcTrans.getNom())) { - nomLoi = CruePrefix.getNom(EnumTypeLoi.LoiTOuv, nomEmh); + nomLoi = CruePrefix.changePrefix(nomEmh, CruePrefix.P_BRANCHE, EnumTypeLoi.LoiTOuv, brancheOrManoeuvre + .getSensOuv()); final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois()); if (loi == null) { final LoiDF loiDF = new LoiDF(); @@ -1767,13 +1768,10 @@ reprise.setDateReprise(DateDurationConverter.getDateFromZeroDate(tempReprise)); } - // Enregistrement de "cru" et "cofqr" dans les propriétés CoefRuisQdm et CoefRuis respectivement de toutes les - // DonCalcSansPrtBrancheSaintVenant existants de DCSP associées à chaque EMHBrancheSaintVenant, sinon création d'un - // DCSP s'il n'en existe aucun pour la branche + initialiseRuisInBranche(cofqrq, crueData); + initialiseRuisInCasier(cofqrq, crueData); if (cofqrq > 0) { dhContainsRuis = true; - initialiseRuisInBranche(cofqrq, crueData); - initialiseRuisInCasier(cofqrq, crueData); } // Enregistrement de isorti dans PCAL @@ -1810,13 +1808,12 @@ private void initialiseRuisInBranche(final double cofqrq, final CrueData crueData) { final List<EMHBrancheSaintVenant> branches = crueData.getBranchesSaintVenant(); for (final EMHBrancheSaintVenant branche : branches) { - final List<DonCalcSansPrtBrancheSaintVenant> dcsps = EMHHelper.selectClass(branche.getDCSP(), + final List<DonCalcSansPrtBrancheSaintVenant> dcsps = EMHHelper.collectClass(branche.getDCSP(), DonCalcSansPrtBrancheSaintVenant.class); if (CollectionUtils.isEmpty(dcsps)) { final DonCalcSansPrtBrancheSaintVenant newInfosEMH = new DonCalcSansPrtBrancheSaintVenant(crueData .getCruePropertyDefinitionContainer()); newInfosEMH.setCoefRuisQdm(cru); - newInfosEMH.setCoefRuis(0);// TODO il faut mettre 0 non initialise dans DC... branche.addInfosEMH(newInfosEMH); } else { final int dcspsSize = dcsps.size(); @@ -1835,13 +1832,11 @@ private void initialiseRuisInCasier(final double cofqrq, final CrueData crueData) { final List<CatEMHCasier> casiers = crueData.getCasiers(); for (final CatEMHCasier casier : casiers) { - final List<DonCalcSansPrtCasierProfil> dcsps = EMHHelper.selectClass(casier.getDCSP(), + final List<DonCalcSansPrtCasierProfil> dcsps = EMHHelper.collectClass(casier.getDCSP(), DonCalcSansPrtCasierProfil.class); if (CollectionUtils.isEmpty(dcsps)) { final DonCalcSansPrtCasierProfil newInfosEMH = new DonCalcSansPrtCasierProfil(crueData .getCruePropertyDefinitionContainer()); - // newInfosEMH.setCoefRuis(cofqrq);// TODO il faut mettre 0 non - newInfosEMH.setCoefRuis(0);// TODO il faut mettre 0 non initialise dans DC... casier.addInfosEMH(newInfosEMH); } else { final int dcspsSize = dcsps.size(); 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 2009-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHWriter.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -47,6 +47,7 @@ import org.fudaa.dodico.crue.metier.emh.DonPrtCIniSection; import org.fudaa.dodico.crue.metier.emh.DonPrtGeo; import org.fudaa.dodico.crue.metier.emh.DonPrtGeoProfilSection; +import org.fudaa.dodico.crue.metier.emh.EMH; import org.fudaa.dodico.crue.metier.emh.EMHBrancheSaintVenant; import org.fudaa.dodico.crue.metier.emh.EMHSectionProfil; import org.fudaa.dodico.crue.metier.emh.ElemPdt; @@ -128,6 +129,30 @@ 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(), + DonCalcSansPrtBrancheSaintVenant.class); + if (dcsp != null) { + for (DonCalcSansPrtBrancheSaintVenant dcspItem : dcsp) { + if (!CtuluLib.isZero(dcspItem.getCoefRuis(), epsForCoefRus)) { return true; } + } + } + List<DonCalcSansPrtCasierProfil> dcspCasierProfil = EMHHelper.collectClass(emh.getInfosEMH(), + DonCalcSansPrtCasierProfil.class); + if (dcsp != null) { + for (DonCalcSansPrtCasierProfil dcspItem : dcspCasierProfil) { + if (!CtuluLib.isZero(dcspItem.getCoefRuis(), epsForCoefRus)) { return true; } + } + } + + } + return false; + + } + /** * @param data * @throws IOException @@ -159,7 +184,7 @@ // ical // Si au moins une branche a un DPTI, cela signifie qu'on a une ligne C dans les données générales - final List<CatEMHBranche> branches = EMHHelper.selectEMHActivable(data.getBranches()); + final List<CatEMHBranche> branches = EMHHelper.collectEMHActivable(data.getBranches()); final boolean aDonneesGen = containsDPTI(branches); // On a des données permanentes si au moins un calcul permanent existe dans DCLM @@ -171,11 +196,13 @@ aDonneesPerm = CollectionUtils.isNotEmpty(calcPseudoPerm); final List<CalcTrans> calcTrans = dclm.getCalcTrans(); aDonneesTrans = CollectionUtils.isNotEmpty(calcTrans); + + boolean modeLateral = isModeLateral(data); // cru - if (!computeQruisIdentique(coeffsRuisParCalcPerm, calcPseudoPerm)) { return; } + if (modeLateral && !computeQruisIdentique(coeffsRuisParCalcPerm, calcPseudoPerm)) { return; } // S'il existe au moins un débit de ruissellement pour un calcul permanent on met cru à 1/idem pour cofqrq - if (MapUtils.isNotEmpty(coeffsRuisParCalcPerm)) { + if (modeLateral && MapUtils.isNotEmpty(coeffsRuisParCalcPerm)) { modru = true; cru = computeQruisQDM(data); // si le coef coef QruisQDM n'est pas constant on ne peut pas ecrire au format crue 9 @@ -218,7 +245,7 @@ // trepr final OrdCalcScenario ocal = data.getOrdCalc(); if (ocal != null) { - final OrdCalcPseudoPermIniCalcReprise reprise = EMHHelper.getFirstOfClass(ocal.getOrdCalc(), + final OrdCalcPseudoPermIniCalcReprise reprise = EMHHelper.selectFirstOfClass(ocal.getOrdCalc(), OrdCalcPseudoPermIniCalcReprise.class); if (reprise != null) { dateReprise = reprise.getDateReprise(); @@ -247,7 +274,7 @@ int countNbChampWritten = 0; int nbCaractWritten = 0; for (final CatEMHBranche br : branches) { - final List<DonPrtCIniBranche> dptis = EMHHelper.selectInstanceOf(br.getInfosEMH(), DonPrtCIniBranche.class); + final List<DonPrtCIniBranche> dptis = EMHHelper.collectInstanceOf(br.getInfosEMH(), DonPrtCIniBranche.class); if (dptis != null) { for (final DonPrtCIniBranche dpti : dptis) { @@ -273,13 +300,13 @@ // Ecriture de la ligne D writeFin(); if (modru) { - final List<EMHBrancheSaintVenant> branchesSaintVenant = EMHHelper.selectClass(branches, + final List<EMHBrancheSaintVenant> branchesSaintVenant = EMHHelper.collectClass(branches, EMHBrancheSaintVenant.class); if (branchesSaintVenant != null) { countNbChampWritten = 0; nbCaractWritten = 0; for (final EMHBrancheSaintVenant brSV : branchesSaintVenant) { - final List<DonCalcSansPrtBrancheSaintVenant> stVt = EMHHelper.selectClass(brSV.getInfosEMH(), + final List<DonCalcSansPrtBrancheSaintVenant> stVt = EMHHelper.collectClass(brSV.getInfosEMH(), DonCalcSansPrtBrancheSaintVenant.class); if (stVt.size() == 1) { final String nom = brSV.getNom(); @@ -330,7 +357,7 @@ int idxOnLine = 0; for (int j = 0; j < countSectionsBranche; j++) { - final DonPrtCIniSection dpti = EMHHelper.getFirstOfClass(sectionsBrancheDPTI.get(j).getEmh().getInfosEMH(), + final DonPrtCIniSection dpti = EMHHelper.selectFirstOfClass(sectionsBrancheDPTI.get(j).getEmh().getInfosEMH(), DonPrtCIniSection.class); double zIniPourProfilJ = 0; if (dpti != null) { @@ -417,7 +444,7 @@ if (casier == null || !casier.getActive()) { continue; } - final List<DonCalcSansPrtCasierProfil> dcsps = EMHHelper.selectClass(casier.getInfosEMH(), + final List<DonCalcSansPrtCasierProfil> dcsps = EMHHelper.collectClass(casier.getInfosEMH(), DonCalcSansPrtCasierProfil.class); if (dcsps != null && dcsps.size() == 1) { final DonCalcSansPrtCasierProfil dcsp = dcsps.get(0); @@ -540,14 +567,15 @@ final List<EMHBrancheSaintVenant> branchesSaintVenant = data.getBranchesSaintVenant(); boolean valueSet = false; double res = 0; + final double eps = data.getCruePropertyDefinitionContainer().getEpsilon("coefRuisQdm"); for (final EMHBrancheSaintVenant brancheSaintVenant : branchesSaintVenant) { if (brancheSaintVenant.getActive()) { - final List<DonCalcSansPrtBrancheSaintVenant> dcsps = EMHHelper.selectClass(brancheSaintVenant.getInfosEMH(), + 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, 1E-8)) { + if (!CtuluLib.isEquals(res, coefRuisQdm, eps)) { analyze_.addFatalError("dh.coefRuisQdm.notConstant", brancheSaintVenant.getNom()); } } else { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STOReader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STOReader.java 2009-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STOReader.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -541,8 +541,8 @@ } final EnumTypeLoi loiZSplan = EnumTypeLoi.LoiZSplan; - LoiFF loiFF = LoiFactory.getLoiFFRPTG(abscissesZ, casier.getSuperficiePlan(), CruePrefix.getNom(loiZSplan, - noeud.getNomPoi()), loiZSplan); + LoiFF loiFF = LoiFactory.getLoiFFRPTG(abscissesZ, casier.getSuperficiePlan(), CruePrefix.changePrefix(noeud + .getNomPoi(), CruePrefix.P_NOEUD, loiZSplan), loiZSplan); if (loiFF != null) { rptgCasier.setLoiZSplan(loiFF); } @@ -554,8 +554,8 @@ ordonneesVol[i] = sm[i] * distTot; } final EnumTypeLoi loiZVol = EnumTypeLoi.LoiZVol; - loiFF = LoiFactory.getLoiFFRPTG(abscissesZ, ordonneesVol, CruePrefix.getNom(loiZVol, noeud.getNomPoi()), - loiZVol); + loiFF = LoiFactory.getLoiFFRPTG(abscissesZ, ordonneesVol, CruePrefix.changePrefix(noeud.getNomPoi(), + CruePrefix.P_NOEUD, loiZVol), loiZVol); if (loiFF != null) { rptgCasier.setLoiZVol(loiFF); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRSequentialReader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRSequentialReader.java 2009-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRSequentialReader.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -94,7 +94,7 @@ } @Override - public ResPrtGeoSection readResultat() { + public ResPrtGeoSection getResultat() { ResPrtGeoSection res = null; if (softRef == null || softRef.get() == null) { final DonneesSectionOuProfil resLu = read(profilName); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHRun.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHRun.java 2009-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHRun.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -73,7 +73,7 @@ * @return */ public static EMHRun findById(final String id, final List<EMHRun> listeFiles) { - return EMHHelper.findObjectNomme(listeFiles, id); + return EMHHelper.selectObjectNomme(listeFiles, id); } public String getNom() { Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractInfosEMH.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractInfosEMH.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractInfosEMH.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -0,0 +1,26 @@ +package org.fudaa.dodico.crue.metier.emh; + +/** + * @author deniger + */ +public abstract class AbstractInfosEMH implements InfosEMH { + + EMH emh; + + public final void setEmh(EMH emh) { + this.emh = emh; + } + + public final String getType() { + return getClass().getSimpleName(); + } + + public final boolean getActivated() { + return getEmh() != null && getEmh().getActivated(); + } + + public final EMH getEmh() { + return emh; + } + +} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java 2009-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -32,7 +32,7 @@ * @return toutes les sections sauf la section pilote. */ public List<RelationEMHSectionDansBranche> getListeSections() { - return EMHHelper.getListeRelationsSections(this); + return EMHHelper.collectRelationsSections(this); } public List<RelationEMHSectionDansBranche> getSections() { @@ -40,7 +40,7 @@ } public List<RelationEMHSectionDansBranche> getListeSectionsSortedXP() { - return EMHHelper.getListeRelationsSectionsSortedByXp(this); + return EMHHelper.collectListeRelationsSectionsSortedByXp(this); } public void addListeSections(final List<? extends RelationEMH> liste) { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java 2009-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -28,6 +28,13 @@ EMHHelper.addNoeudCasier(this, noeud); } + public final ResPrtGeoCasier getResPrtGeoCasier() { + ResPrtGeoCasierContainer selectInfoEMH = EMHHelper + .selectFirstOfClass(getInfosEMH(), ResPrtGeoCasierContainer.class); + if (selectInfoEMH == null) { return null; } + return selectInfoEMH.getResultat(); + } + @Override public boolean getActivated() { boolean res = super.getActivated(); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHConteneur.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHConteneur.java 2009-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHConteneur.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -1,7 +1,5 @@ /*********************************************************************** - * Module: CatEMHConteneur.java - * Author: BATTISTA - * Purpose: Defines the Class CatEMHConteneur + * Module: CatEMHConteneur.java Author: BATTISTA Purpose: Defines the Class CatEMHConteneur ***********************************************************************/ package org.fudaa.dodico.crue.metier.emh; @@ -30,7 +28,7 @@ * @return true si ce conteneur ne contient ni info ni Relation */ public boolean isEmpty() { - return getRelationEMH().isEmpty() && getInfosEMH().isEmpty(); + return isRelationsEMHEmpty() && isInfosEMHEmpty(); } /** @@ -39,32 +37,31 @@ public abstract EMHSousModele getConcatSousModele(); public List<CatEMHSection> getSections() { - return EMHHelper.getEMHInRelationEMHContient(getConcatSousModele(), EnumTypeEMH.SECTION); + return EMHHelper.collectEMHInRelationEMHContient(getConcatSousModele(), EnumTypeEMH.SECTION); } public List<CatEMHNoeud> getNoeuds() { - return EMHHelper.getEMHInRelationEMHContient(getConcatSousModele(), EnumTypeEMH.NOEUD); + return EMHHelper.collectEMHInRelationEMHContient(getConcatSousModele(), EnumTypeEMH.NOEUD); } public List<CatEMHBranche> getBranches() { - return EMHHelper.getEMHInRelationEMHContient(getConcatSousModele(), EnumTypeEMH.BRANCHE); + return EMHHelper.collectEMHInRelationEMHContient(getConcatSousModele(), EnumTypeEMH.BRANCHE); } public List<EMHBrancheSaintVenant> getBranchesSaintVenant() { - List<EMH> inRelationEMHContient = EMHHelper.getEMHInRelationEMHContient(getConcatSousModele(), EnumTypeEMH.BRANCHE); - return EMHHelper.selectClass(inRelationEMHContient, - EMHBrancheSaintVenant.class); + List<EMH> inRelationEMHContient = EMHHelper.collectEMHInRelationEMHContient(getConcatSousModele(), EnumTypeEMH.BRANCHE); + return EMHHelper.collectClass(inRelationEMHContient, EMHBrancheSaintVenant.class); } public List<CatEMHCasier> getCasiers() { - return EMHHelper.getEMHInRelationEMHContient(getConcatSousModele(), EnumTypeEMH.CASIER); + return EMHHelper.collectEMHInRelationEMHContient(getConcatSousModele(), EnumTypeEMH.CASIER); } /** * @return tous les emh contenu par ce modele */ public List<EMH> getSimpleEMH() { - return EMHHelper.getEMHInRelationEMHContient(getConcatSousModele()); + return EMHHelper.collectEMHInRelationEMHContient(getConcatSousModele()); } } \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java 2009-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -25,7 +25,7 @@ public boolean getActivated() { final boolean res = super.getActivated(); if (res) { - final Collection<RelationEMHBrancheContientNoeud> brs = EMHHelper.findRelationOfType(this, + final Collection<RelationEMHBrancheContientNoeud> brs = EMHHelper.selectRelationOfType(this, RelationEMHBrancheContientNoeud.class); for (final RelationEMHBrancheContientNoeud relationEMHNoeudDansBranche : brs) { if (relationEMHNoeudDansBranche.getEmh().getActivated()) { return true; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java 2009-12-11 03:13:54 UTC (rev 5560) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java 2009-12-13 23:34:59 UTC (rev 5561) @@ -19,6 +19,13 @@ return true; } + public final ResPrtGeoSection getResPrtGeoSection() { + ResPrtGeoSectionContainer selectInfoEMH = EMHHelper.selectFirstOfClass(getInfosEMH(), + ResPrtGeoSectionContainer.class); + if (selectInfoEMH == null) { return null; } + return selectInfoEMH.getResultat(); + } + /** * @return true si active et si contenue par une branche active. */ @@ -27,7 +34,7 @@ final boolean res = super.getActivated(); if (res) { // une section appartient a une seule branche. - final RelationEMHBrancheContientSection brs = EMHHelper.getFirstOfClass(getRelationEMH(), + final RelationEMHBrancheContientSection brs = EMHHelper.selectFirstOfClass(getRelationEMH(), RelationEMHBrancheContientSection.class); return brs != null && brs.getEmh() != null && brs.getEmh().getActivated(); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org... [truncated message content] |