From: <de...@us...> - 2010-04-06 21:50:35
|
Revision: 5738 http://fudaa.svn.sourceforge.net/fudaa/?rev=5738&view=rev Author: deniger Date: 2010-04-06 21:50:28 +0000 (Tue, 06 Apr 2010) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/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/io/neuf/FCBReader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBValueObject.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/STOSequentialReader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRFactory.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/emh/CatEMHActivable.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeoSection.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/ScenarioLoaderCrue9.java trunk/soft/fudaa-crue/dodico/src/main/resources/crue-variable.csv 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/comparaison/io/default-comparaison.xml trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-ores-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/comparaison/TestRequete.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/TestCrueETUFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestEMHPropertiesValidator.java trunk/soft/fudaa-crue/dodico/src/test/resources/Etu4-0/M4-0_e1c9.dh trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.dptg.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.ores.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele7.dc 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/explorer/CrueLauncher.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioComparaisonUI.java Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -98,7 +98,10 @@ crue9reader.setDataLinked(dataLinked); crue9reader.setFile(url); final CtuluIOOperationSynthese read = crue9reader.read(); - final CrueIOResu<CrueData> source = (CrueIOResu<CrueData>) read.getSource(); + CrueIOResu<CrueData> source = (CrueIOResu<CrueData>) read.getSource(); + if (source == null) { + source = new CrueIOResu<CrueData>(); + } analyzer.merge(read.getAnalyze()); analyzer.setDesc(IOMessages.getString("read.file", url.toString())); source.setAnalyse(analyzer); 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-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -2038,7 +2038,7 @@ if (resu.getMetier().getPretraitementsGeom() == null) { createDefaultOPTG(resu.getMetier()); } - if (analyze_.containsFatalError()) { return null; } + // 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-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -639,9 +639,9 @@ } /** - * On doit avoir Zini = Zfond + coefRempliPourBrancheI*(ZmaxProfil - Zfond). Pour connaître Zfond et Zmax, il faut - * récupérer tous les points(x,y) de la section dans DPTG et détermniner le ymin et ymax entre tous ces points qui - * correspondront respectivement à Zfond et Zmax. + * On doit avoir Zini = Zf + coefRempliPourBrancheI*(ZmaxProfil - Zf). Pour connaître Zf et Zmax, il faut récupérer + * tous les points(x,y) de la section dans DPTG et détermniner le ymin et ymax entre tous ces points qui + * correspondront respectivement à Zf et Zmax. * * @param sectionEMH * @param coefRempliPourBrancheI 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-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHWriter.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -592,7 +592,7 @@ * @param sectionEMH * @return */ - private List<Double> getZFondEtZMax(final EMHSectionProfil sectionEMH) { + private List<Double> getZfEtZmax(final EMHSectionProfil sectionEMH) { double zmin = 0.0; double zmax = 0.0; Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -258,9 +258,9 @@ prof.setNom(helper.getStingFromBuffer(16).trim()); prof.setDistance(buffer.getFloat()); - prof.setZfond(buffer.getFloat()); + prof.setZf(buffer.getFloat()); if (containsSsfente) { - prof.setZFondSsfente(buffer.getFloat()); + prof.setZfSsFente(buffer.getFloat()); } final int ipro = buffer.getInt(); // bizarre, l'indice est ecrit en derniere position Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBValueObject.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBValueObject.java 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBValueObject.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -59,8 +59,8 @@ public static class EnteteProfil extends AbstractEntete { private double distance; - private double zFond; - private double zFondSsfente; + private double zf; + private double zfSsFente; /** * @param distance the distance to set @@ -70,17 +70,17 @@ } /** - * @param zfond the zfonds to set + * @param zf the zfonds to set */ - protected void setZfond(final double zfond) { - this.zFond = zfond; + protected void setZf(final double zf) { + this.zf = zf; } /** - * @param zFondSsfente the zzfondSsfente to set + * @param zfSsFente the ZfSsFente to set */ - protected void setZFondSsfente(final double zFondSsfente) { - this.zFondSsfente = zFondSsfente; + protected void setZfSsFente(final double zfSsFente) { + this.zfSsFente = zfSsFente; } /** @@ -93,20 +93,20 @@ /** * @return the zfonds */ - public double getZfond() { - return zFond; + public double getZf() { + return zf; } /** - * @return the zzfondSsfente + * @return the ZfSsFente */ - public double getZfondSsfente() { - return zFondSsfente; + public double getZfSsFente() { + return zfSsFente; } @Override public String toString() { - return nom + " dist=" + distance + ", zfond=" + zFond + ", sfondSsFente=" + zFondSsfente; + return nom + " dist=" + distance + ", Zf=" + zf + ", ZfSsFente=" + zfSsFente; } } 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 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STOReader.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -295,12 +295,14 @@ // write(isto) (n0pr(i,ib),i=1,imax(ib)) readData = helper.readData(); + int[] indexAbsoluProfil = new int[imax]; for (int j = 0; j < imax; j++) { // n0pr(NPR,NBR) i2 : n° absolu du profil dont le n° est ip dans la branche ib // pas sur que l'on en ait besoin - donneesBranche.setN0Pr(readData.getShort()); + indexAbsoluProfil[j] = readData.getShort(); // System.out.print("n0Pr = " + donneesBranche.getN0Pr() + " | "); } + donneesBranche.setN0Pr(indexAbsoluProfil); // System.out.println(""); // if(n.gt.0) then Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STOSequentialReader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STOSequentialReader.java 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STOSequentialReader.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -1,6 +1,5 @@ /** - * Licence GPL - * Copyright Genesis + * Licence GPL Copyright Genesis */ package org.fudaa.dodico.crue.io.neuf; @@ -25,7 +24,7 @@ private float alpha; private int iMax; private int n; - private int n0Pr; + private int n0Pr[]; private int nbSing; private String nomBr; private int nSing; @@ -39,91 +38,91 @@ /** * @return the alpha */ - protected float getAlpha() { + public float getAlpha() { return alpha; } /** * @return the iMax */ - protected int getIMax() { + public int getIMax() { return iMax; } /** * @return the n */ - protected int getN() { + public int getN() { return n; } /** * @return the n0Pr */ - protected int getN0Pr() { + public int[] getN0Pr() { return n0Pr; } /** * @return the nbSing */ - protected int getNbSing() { + public int getNbSing() { return nbSing; } /** * @return the nomBr */ - protected String getNomBr() { + public String getNomBr() { return nomBr; } /** * @return the nSing */ - protected int getNSing() { + public int getNSing() { return nSing; } /** * @return the nTyp */ - protected int getNTyp() { + public int getNTyp() { return nTyp; } /** * @return the nuPam */ - protected int getNuPam() { + public int getNuPam() { return nuPam; } /** * @return the nuPav */ - protected int getNuPav() { + public int getNuPav() { return nuPav; } /** * @return the ruiBra */ - protected float getRuiBra() { + public float getRuiBra() { return ruiBra; } /** * @return the sing */ - protected float[] getSing() { + public float[] getSing() { return sing; } /** * @return the sinuo */ - protected float getSinuo() { + public float getSinuo() { return sinuo; } @@ -151,7 +150,7 @@ /** * @param pr the n0Pr to set */ - protected void setN0Pr(final int pr) { + protected void setN0Pr(final int[] pr) { n0Pr = pr; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRFactory.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRFactory.java 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRFactory.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -90,7 +90,7 @@ final ResPrtGeoSection rptgSection = new ResPrtGeoSection(); rptgSection.setNom(donneesSection.getNom()); final String nom = rptgSection.getNom(); - rptgSection.setZf(donneesSection.getZFond()); + rptgSection.setZf(donneesSection.getZf()); rptgSection.setZHaut(donneesSection.getZHaut()); final float[] params = donneesSection.getParams(); if (params != null && params.length == 5) { @@ -100,7 +100,7 @@ } // Alimentation LitZf - rptgSection.setLitZf(getDataDeLitRPTG(donneesSection.getZFondsLits(), nom, EnumTypeLoi.LstLitZf)); + rptgSection.setLstLitZf(getDataDeLitRPTG(donneesSection.getZFondsLits(), nom, EnumTypeLoi.LstLitZf)); final DonneesSectionPourBranche sectionBranche = donneesSection.getDonneesPourBranche(); if (sectionBranche instanceof SectionPourAutreBranche) { @@ -110,7 +110,7 @@ // Calcul des abscisses z final int nbHaut = donneesSection.getNbHaut(); final float dzpro = donneesSection.getDZpro(); - final float zmin = donneesSection.getZFond() + dzpro; + final float zmin = donneesSection.getZf() + dzpro; final float[] abscissesZ = new float[nbHaut]; for (int i = 0; i < nbHaut; i++) { @@ -150,15 +150,15 @@ } // Alimentation loi PsupDeLit - rptgSection.setLitPsup(getDataDeLitRPTG(sectionAutreBranche.getListePerHaut(), nom, EnumTypeLoi.LstLitPsup)); + rptgSection.setLstLitPsup(getDataDeLitRPTG(sectionAutreBranche.getListePerHaut(), nom, EnumTypeLoi.LstLitPsup)); // Alimentation loi LsupDeLit - rptgSection.setLitLsup(getDataDeLitRPTG(sectionAutreBranche.getListeLargHaut(), nom, EnumTypeLoi.LstLitLsup)); + rptgSection.setLstLitLsup(getDataDeLitRPTG(sectionAutreBranche.getListeLargHaut(), nom, EnumTypeLoi.LstLitLsup)); // Alimentation loi KsupDeLit rptgSection.setLstLitKsup(getDataDeLitRPTG(sectionAutreBranche.getListeStriHaut(), nom, EnumTypeLoi.LstLitKsup)); // Alimentation loi LinfDeLit - rptgSection.setLitLinf(getDataDeLitRPTG(sectionAutreBranche.getListeLargFond(), nom, EnumTypeLoi.LstLitLinf)); + rptgSection.setLstLitLinf(getDataDeLitRPTG(sectionAutreBranche.getListeLargFond(), nom, EnumTypeLoi.LstLitLinf)); // Alimentation loi SsupDeLit - rptgSection.setLitSsup(getDataDeLitRPTG(sectionAutreBranche.getListeSurfHaut(), nom, EnumTypeLoi.LstLitSsup)); + rptgSection.setLstLitSsup(getDataDeLitRPTG(sectionAutreBranche.getListeSurfHaut(), nom, EnumTypeLoi.LstLitSsup)); // Alimentation LitPos final int[] listeLitsExtremes = sectionAutreBranche.getListeLitExtreme(); 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 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRSequentialReader.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -158,7 +158,8 @@ final DonneesSectionOuProfil donneesSection = new DonneesSectionOuProfil(); - donneesSection.setNom(getStringFromBuffer(bf, 16).trim()); + String nom = getStringFromBuffer(bf, 16); + donneesSection.setNom(nom.trim()); donneesSection.setType(getStringFromBuffer(bf, 8).trim()); final int nTypBra = bf.getInt(); @@ -240,7 +241,6 @@ final float[] xsTravers = new float[nbPtProfil]; for (int j = 0; j < nbPtProfil; j++) { - xsTravers[j] = bf.getFloat(); } donneesSection.setXsTravers(xsTravers); @@ -249,7 +249,6 @@ final float[] zsTravers = new float[nbPtProfil]; for (int j = 0; j < nbPtProfil; j++) { - zsTravers[j] = bf.getFloat(); } donneesSection.setZsTravers(zsTravers); @@ -269,22 +268,24 @@ donneesSection.setZDigueD(bf.getFloat()); donneesSection.setCDigueG(bf.getFloat()); donneesSection.setCDigueD(bf.getFloat()); - donneesSection.setZFond(bf.getFloat()); + donneesSection.setZf(bf.getFloat()); donneesSection.setZHaut(bf.getFloat()); donneesSection.setDZpro(bf.getFloat()); final String typeLimLit = getStringFromBuffer(bf, 8); donneesSection.setTypeLimLit(typeLimLit); - if (typeLimLit != null && typeLimLit.length() > 0) { - DonneesLimites limites = null; - if (typeLimLit.equals(TYPE_LIMITE_LIT_J)) { - limites = getDonneesLimiteJ(bf, nbLit); - } else if (typeLimLit.equals(TYPE_LIMITE_LIT_X)) { - limites = getDonneesLimiteX(bf, nbLit); - } - donneesSection.setDonneesLimites(limites); + DonneesLimites limites = null; + if (TYPE_LIMITE_LIT_J.equals(typeLimLit)) { + limites = getDonneesLimiteJ(bf, nbLit); + } else if (TYPE_LIMITE_LIT_X.equals(typeLimLit)) { + limites = getDonneesLimiteX(bf, nbLit); + } else { + // sinon, on saute la partie concernant les limites des lits + // soit 2 fois la lecture de nbLitMax float. + skip(bf, 2 * (4 * nbLitMax)); } + donneesSection.setDonneesLimites(limites); DonneesSectionPourBranche donneesBranche = null; // 0, 2, 6, 9 ou 15 @@ -331,7 +332,6 @@ final int[] limsDeb = new int[nbLit]; for (int j = 0; j < nbLit; j++) { - limsDeb[j] = bf.getInt(); } limites.setJLimsDeb(limsDeb); @@ -745,7 +745,7 @@ /** Coefficient de débitance dénoyé du déversoir de la digue en RD */ private float cDigueD; /** Cote du fond de la section */ - private float zFond; + private float zf; /** Cote du point le plus haut de la section */ private float zHaut; /** Pas de hauteur pour le planimétrage de la section */ @@ -935,10 +935,10 @@ } /** - * @return the zFond + * @return the Zf */ - public float getZFond() { - return zFond; + public float getZf() { + return zf; } /** @@ -1138,10 +1138,10 @@ } /** - * @param fond the zFond to set + * @param zf the Zfto set */ - public void setZFond(final float fond) { - zFond = fond; + public void setZf(final float zf) { + this.zf = zf; } /** Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHActivable.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHActivable.java 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHActivable.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -13,11 +13,11 @@ */ public abstract class CatEMHActivable extends EMH { /** @pdOid b63b4510-1dae-4615-a616-61f8911b6b7e */ - private boolean active; + private boolean userActive; /** @pdOid adf7fd8e-2133-4f9f-a463-e263df0c7557 */ public boolean getUserActive() { - return active; + return userActive; } /** @@ -25,7 +25,7 @@ * @pdOid 9c6ae571-14f8-4227-b75a-e320a4e581d9 */ public void setUserActive(final boolean newIsActive) { - active = newIsActive; + userActive = newIsActive; } public CatEMHActivable() { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeoSection.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeoSection.java 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeoSection.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -104,7 +104,7 @@ * @param newLitLsup * @pdOid c7601dcc-d71f-4339-96c1-8b294c196906 */ - public final void setLitLsup(ResPrtData newLitLsup) { + public final void setLstLitLsup(ResPrtData newLitLsup) { lstLitLsup = newLitLsup; } @@ -117,7 +117,7 @@ * @param newLitPsup * @pdOid 459e6a7e-d448-401b-8093-ca13c6a20bb4 */ - public final void setLitPsup(ResPrtData newLitPsup) { + public final void setLstLitPsup(ResPrtData newLitPsup) { lstLitPsup = newLitPsup; } @@ -130,7 +130,7 @@ * @param newLitSsup * @pdOid 77850a3b-edff-4795-aff9-cc84ae058a10 */ - public final void setLitSsup(ResPrtData newLitSsup) { + public final void setLstLitSsup(ResPrtData newLitSsup) { lstLitSsup = newLitSsup; } @@ -143,7 +143,7 @@ * @param newLitZf * @pdOid 94863da0-35c2-4814-9b45-427ad41e0323 */ - public final void setLitZf(ResPrtData newLitZf) { + public final void setLstLitZf(ResPrtData newLitZf) { lstLitZf = newLitZf; } @@ -156,7 +156,7 @@ * @param newLitLinf * @pdOid c10b8c4f-b331-4056-a4c7-504cc969747f */ - public final void setLitLinf(ResPrtData newLitLinf) { + public final void setLstLitLinf(ResPrtData newLitLinf) { lstLitLinf = newLitLinf; } 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-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/EMHHelper.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -546,6 +546,10 @@ if (o1 == o2) { return 0; } if (o1 == null) { return -1; } if (o2 == null) { return 1; } + if (o1.getPos().equals(EnumPositionSection.AMONT)) { return -1; } + if (o2.getPos().equals(EnumPositionSection.AMONT)) { return 1; } + if (EnumPositionSection.AVAL.equals(o1.getPos())) { return 1; } + if (EnumPositionSection.AVAL.equals(o2.getPos())) { return -1; } // il faudrait utilise un epsilon donne if (CtuluLib.isEquals(o1.getXp(), o2.getXp())) { return 0; } return o1.getXp() > o2.getXp() ? 1 : -1; Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -3,7 +3,10 @@ */ package org.fudaa.dodico.crue.projet; +import gnu.trove.TIntObjectHashMap; + import java.io.File; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -30,6 +33,7 @@ import org.fudaa.dodico.crue.io.neuf.FCBValueObject.EnteteBranche; import org.fudaa.dodico.crue.io.neuf.FCBValueObject.EnteteCasier; import org.fudaa.dodico.crue.io.neuf.FCBValueObject.EnteteProfil; +import org.fudaa.dodico.crue.io.neuf.STOSequentialReader.DonneesBranche; import org.fudaa.dodico.crue.metier.ManagerEMHModeleBase; import org.fudaa.dodico.crue.metier.ManagerEMHScenario; import org.fudaa.dodico.crue.metier.emh.CatEMHBranche; @@ -39,6 +43,7 @@ import org.fudaa.dodico.crue.metier.emh.EMHScenario; import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; import org.fudaa.dodico.crue.metier.emh.PlanimetrageNbrPdzCst; +import org.fudaa.dodico.crue.metier.emh.RelationEMHSectionDansBranche; import org.fudaa.dodico.crue.metier.emh.ResPrtReseau; import org.fudaa.dodico.crue.metier.helper.EMHHelper; import org.fudaa.dodico.crue.property.CrueProperties; @@ -146,43 +151,76 @@ analyze.setDesc(CommonMessages.getString("load.validFcb")); analyze.setDefaultResourceBundle(CommonMessages.RESOURCE_BUNDLE); mng.addAnalyzer(analyze); - boolean error = false; - for (final EnteteBranche br : res.getContainerBranches().getListData()) { - final String id = br.getNom().toUpperCase(); - final CatEMHBranche foundBranche = data.findBrancheByReference(id); - if (foundBranche == null) { - analyze.addError("res.branche.notFound", id); - error = true; - } else if ("EMHBrancheSaintVenant".equals(foundBranche.getType())) { - foundBranche.addInfosEMH(res.getContainerBranches().createInfoEMH(foundBranche)); - } + // boolean error = false; + validFcbBranches(res, data, analyze); + validFcbCasiers(res, data, analyze); + validFcbProfils(res, data, analyze); + + final ResultatCalculPasDeTemps pdt = res.getPdt(); + if (pdt != null && pdt.getNbPdt() > 0) { + emh.addInfosEMH(pdt); } - for (final EnteteCasier nd : res.getContainerCasiers().getListData()) { - final String id = nd.getNom().toUpperCase(); - final CatEMHNoeud foundNoeud = data.findNoeudByReference(id); - if (foundNoeud == null) { - analyze.addError("res.noeud.notFound", id); - error = true; - } else if (foundNoeud.getCasier() != null) { - foundNoeud.getCasier().addInfosEMH(res.getContainerCasiers().createInfoEMH(foundNoeud)); + + } + + private void validFcbProfils(final FCBSequentialReader res, final CrueData data, final CtuluAnalyze analyze) { + int nbAbsolu = 0; + STOSequentialReader sto = data.getSto(); + TIntObjectHashMap numAbsoluProfil = new TIntObjectHashMap(); + List<DonneesBranche> donneesBranches = sto.getDonneesBranches(); + for (DonneesBranche donneesBranche : donneesBranches) { + String nomBr = donneesBranche.getNomBr().trim(); + CatEMHBranche branche = data.findBrancheByReference(nomBr); + List<RelationEMHSectionDansBranche> sections = branche.getSections(); + Collections.sort(sections, new EMHHelper.ComparatorRelationEMHSectionDansBranche()); + int[] n0Pr = donneesBranche.getN0Pr(); + for (int i = 0; i < n0Pr.length; i++) { + numAbsoluProfil.put(n0Pr[i], sections.get(i).getEmh()); } } + for (final EnteteProfil prof : res.getContainerProfil().getListData()) { + nbAbsolu++; final String id = prof.getNom().toUpperCase(); - final CatEMHSection foundSection = data.findSectionByReference(id); + CatEMHSection foundSection = null; + if (StringUtils.isEmpty(id)) { + foundSection = (CatEMHSection) numAbsoluProfil.get(nbAbsolu); + } else { + foundSection = data.findSectionByReference(id); + } if (StringUtils.isNotEmpty(id) && foundSection == null) { analyze.addError("res.section.notFound", id); - error = true; + // error = true; } else if (foundSection != null) { foundSection.addInfosEMH(res.getContainerProfil().createInfoEMH(foundSection)); } } + } - final ResultatCalculPasDeTemps pdt = res.getPdt(); - if (pdt != null && pdt.getNbPdt() > 0) { - emh.addInfosEMH(pdt); + private void validFcbCasiers(final FCBSequentialReader res, final CrueData data, final CtuluAnalyze analyze) { + for (final EnteteCasier nd : res.getContainerCasiers().getListData()) { + final String id = nd.getNom().toUpperCase(); + final CatEMHNoeud foundNoeud = data.findNoeudByReference(id); + if (foundNoeud == null) { + analyze.addError("res.noeud.notFound", id); + // error = true; + } else if (foundNoeud.getCasier() != null) { + foundNoeud.getCasier().addInfosEMH(res.getContainerCasiers().createInfoEMH(foundNoeud)); + } } + } + private void validFcbBranches(final FCBSequentialReader res, final CrueData data, final CtuluAnalyze analyze) { + for (final EnteteBranche br : res.getContainerBranches().getListData()) { + final String id = br.getNom().toUpperCase(); + final CatEMHBranche foundBranche = data.findBrancheByReference(id); + if (foundBranche == null) { + analyze.addError("res.branche.notFound", id); + // error = true; + } else if ("EMHBrancheSaintVenant".equals(foundBranche.getType())) { + foundBranche.addInfosEMH(res.getContainerBranches().createInfoEMH(foundBranche)); + } + } } private void validStr(final CrueData data, final EMHScenario emh, final CrueErrorManager mng) { @@ -202,34 +240,21 @@ final String ndNom = StringUtils.substringBeforeLast(id, "#"); final CatEMHNoeud nd = data.findNoeudByReference(ndNom); if (nd == null) { - analyze.addError("rptg.NoeudForCasier.notFound", ndNom, id); + analyze.addFatalError("rptg.NoeudForCasier.notFound", ndNom, id); error = true; } else { casier = nd.getCasier(); if (casier == null) { - analyze.addError("rptg.casier.notExist", ndNom); + analyze.addFatalError("rptg.casier.notExist", ndNom); error = true; } } - // final List<DonPrtGeoProfilCasier> profilCasier = EMHHelper.collectClass(casier.getInfosEMH(), - // DonPrtGeoProfilCasier.class); - // PC_N6_002 - // on doit transformer ND_N6#002 en PC_N6_002 - // final String donPrtSearch = CruePrefix.changePrefix(id.replace('#', '_'), CruePrefix.P_NOEUD.toUpperCase(), - // CruePrefix.P_PROFIL_CASIER.toUpperCase()); - // final DonPrtGeoProfilCasier profil = EMHHelper.selectObjectNomme(profilCasier, donPrtSearch); - // if (profil == null) { - // analyze.addError("rptg.profilCasier.notExist", donPrtSearch); - // error = true; - // } else if (casier != null) { - // casier.addInfosEMH(rptg.getResultatOnProfil(nom)); - // } } else { final CatEMHSection nd = data.findSectionByReference(id); if (nd == null) { error = true; - analyze.addError("rptg.section.notFound", nom); + analyze.addFatalError("rptg.section.notFound", nom); } else { nd.addInfosEMH(rptg.getResultatOnProfil(nom)); } @@ -253,7 +278,7 @@ error = true; analyze.addError("rptg.noeud.notFound", nom); } else if (nd.getCasier() == null) { - analyze.addError("rptg.noeud.casierNotFound", nom); + analyze.addFatalError("rptg.noeud.casierNotFound", nom); } else { nd.getCasier().addInfosEMH(rptg.getResultatOnCasier(nom)); } @@ -267,7 +292,7 @@ final CrueErrorManager loadResFile = errorMng.createGroup(CommonMessages.getString("load.resFile")); loadResFile.getMainAnalyze().setDefaultResourceBundle(CommonMessages.RESOURCE_BUNDLE); if (data.isCrue9ContientDistmax()) { - loadResFile.getMainAnalyze().addError("crue9.resNotLoad.becauseOfDistmax"); + loadResFile.getMainAnalyze().addFatalError("crue9.resNotLoad.becauseOfDistmax"); return; } @@ -288,10 +313,19 @@ private void loadStrSto(final EMHScenario emh, final CrueData data, final File dcFile, final CrueErrorManager loadResFile, final File sto, final File str) throws Exception {// NOPMD ok final long timeEtudeDC = dcFile.lastModified(); + if (!CtuluLibFile.exists(sto)) { + loadResFile.getMainAnalyze().addFatalError("load.stoFile.noExist", sto == null ? "?" : sto.getName()); + if (!CtuluLibFile.exists(str)) { + loadResFile.getMainAnalyze().addFatalError("load.strFile.noExist", str == null ? "?" : str.getName()); + } + return; + } else if (!CtuluLibFile.exists(str)) { + loadResFile.getMainAnalyze().addFatalError("load.strFile.noExist", str == null ? "?" : str.getName()); + } if (CtuluLibFile.exists(sto)) { final long stoTime = sto.lastModified(); if (stoTime < timeEtudeDC) { - loadResFile.getMainAnalyze().addWarn("load.stoFile.cancelledBecauseTooOld"); + loadResFile.getMainAnalyze().addFatalError("load.stoFile.cancelledBecauseTooOld"); return; } CtuluAnalyze analyze = new CtuluAnalyze(); @@ -317,7 +351,7 @@ if (!analyze.containsFatalError() && CtuluLibFile.exists(str)) { final long strTime = str.lastModified(); if (strTime < timeEtudeDC) { - loadResFile.getMainAnalyze().addWarn("load.strFile.cancelledBecauseTooOld"); + loadResFile.getMainAnalyze().addFatalError("load.strFile.cancelledBecauseTooOld"); return; } analyze = new CtuluAnalyze(); @@ -331,7 +365,7 @@ validStr(data, emh, loadResFile); } } else { - loadResFile.getMainAnalyze().addWarn("load.strFile.notDone"); + loadResFile.getMainAnalyze().addFatalError("load.strFile.notDone"); } } } @@ -341,7 +375,7 @@ if (CtuluLibFile.exists(sto) && CtuluLibFile.exists(str) && CtuluLibFile.exists(fcb)) { final long fcbTime = fcb.lastModified(); if (fcbTime < getMax(sto, str, dhFile)) { - loadResFile.getMainAnalyze().addWarn("load.fcbFile.cancelledBecauseTooOld"); + loadResFile.getMainAnalyze().addError("load.fcbFile.cancelledBecauseTooOld"); return; } final CtuluAnalyze analyze = new CtuluAnalyze(); Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/crue-variable.csv =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/crue-variable.csv 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/crue-variable.csv 2010-04-06 21:50:28 UTC (rev 5738) @@ -140,6 +140,7 @@ "ZBatiTotal";"Z";;;;; "Zc";"Z";;;;">=0.0";"<=4000.0" "Zf";"Z";;;;">=0.0";"<=4000.0" +"ZfSsFente";"Z";;;;">=0.0";"<=4000.0" "Zhaut";"Z";;;;">=0.0";"<=4000.0" "Zimpose";"Z";;;;">=0.0";"<=4000.0" "Zini";"Z";;;;">=0.0";"<=4000.0" Modified: 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/common/commonMessages.properties 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties 2010-04-06 21:50:28 UTC (rev 5738) @@ -37,6 +37,8 @@ load.stoFile.cancelledBecauseTooOld = Le chargement des fichiers de r\u00E9sultats n'a pas \u00E9t\u00E9 effectu\u00E9 car le fichier STO est plus ancien que le fichier DC load.strFile.cancelledBecauseTooOld = Le chargement des fichiers de r\u00E9sultats n'a pas \u00E9t\u00E9 effectu\u00E9 car le fichier STR est plus ancien que le fichier DC load.strFile.notDone = Le chargement du fichier STR n'a pas \u00E9t\u00E9 effectu\u00E9e. Les donn\u00E9es ne seront pas charg\u00E9es en m\u00E9moire. +load.strFile.noExist = Le fichier STR {0} n''existe pas +load.stoFile.noExist = Le fichier STO {0} n''existe pas load.validFcb = Validation des donn\u00E9es du fichier FCB load.validStoStr = Validation des donn\u00E9es des fichiers STO/STR Modified: 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/org/fudaa/dodico/crue/comparaison/io/default-comparaison.xml 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/comparaison/io/default-comparaison.xml 2010-04-06 21:50:28 UTC (rev 5738) @@ -647,6 +647,21 @@ --> <Compare-Liste Attribut="emh.id,type" Bidirect="true" /> </Comparaison> + <Comparaison> + <Id>DCLM4</Id> + <Nom>Quel calcul, présent dans A et B, a un commentaire différent</Nom> + <Selection> + <Merge Attribut="id" Description="Les calcul de même id"> + <Requete Description="tous les calculs"> + donCLimMScenario/calc + </Requete> + </Merge> + </Selection> + <!-- on compare le commentaire --> + <Compare-Objet> + <Attribut>commentaire</Attribut> + </Compare-Objet> + </Comparaison> <Comparaison> <Id>DLHY1</Id> @@ -821,8 +836,8 @@ <Requete Description="Les modeles"> sousModele </Requete> - <Merge Attribut="id" Description="Les lois de même id"> - <Requete Description="Toutes les lois"> + <Merge Attribut="id" Description="Les commentaires de même id"> + <Requete Description="Toutes les commentaires"> commentairesManager/commentaires </Requete> </Merge> Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-ores-1.0.0.xsd =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-ores-1.0.0.xsd 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-ores-1.0.0.xsd 2010-04-06 21:50:28 UTC (rev 5738) @@ -4,12 +4,11 @@ <xs:annotation> <xs:documentation> - schema incomplet: voir le meme sans le préfixe frag- pour la - validation par fichier + schema incomplet: voir le meme sans le prefixe frag- pour la validation par fichier </xs:documentation> </xs:annotation> <xs:element name="DdeDz" type="xs:boolean" /> - <xs:element name="DdeHmin" type="xs:string" /> + <xs:element name="DdeHmin" type="xs:boolean" /> <xs:element name="DdeYn" type="xs:boolean" /> <xs:element name="DdeCoefCtr" type="xs:boolean" /> <xs:element name="DdeSact" type="xs:boolean" /> @@ -37,7 +36,6 @@ <xs:element name="DdeQlat" type="xs:boolean" /> <xs:element name="DdeVc" type="xs:boolean" /> <xs:element name="DdeZn" type="xs:boolean" /> - <xs:element name="DdeVact" type="xs:boolean" /> <xs:element name="OrdResSectionIdem"> <xs:complexType> @@ -248,7 +246,6 @@ <xs:sequence> <xs:element ref="DdeCoefCtr" /> <xs:element ref="DdeRegime" /> - <!-- <xs:element name="DdeOuv" type="xs:string" />--> </xs:sequence> </xs:complexType> </xs:element> @@ -309,7 +306,6 @@ </xs:element> - --> <xs:element name="ORES"> <xs:complexType> <xs:sequence> Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/comparaison/TestRequete.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/comparaison/TestRequete.java 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/comparaison/TestRequete.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -65,10 +65,12 @@ final EMHNoeudNiveauContinu nd = nodeFactory.getNode("inactive");// new EMHNoeudNiveauContinu("inactive"); final EMHBrancheOrifice nd2 = new EMHBrancheOrifice("inactive"); nd2.setUserActive(false); + // nd.setUserActive(true); EMHHelper.addRelationContientEMH(modele, nd); EMHHelper.addRelationContientEMH(modele, nd2); + final JXPathContext path = JXPathContext.newContext(modele); - final List selectNodes = path.selectNodes("simpleEMH[userActive='true']"); + final List selectNodes = path.selectNodes("allSimpleEMH[userActive='true']"); assertEquals(1, selectNodes.size()); assertEquals(nd, selectNodes.get(0)); } @@ -90,9 +92,9 @@ public void testSelectAllDptgSection() { final JXPathContext path = JXPathContext.newContext(createModele()); - List nodes = path.selectNodes("simpleEMH/DPTGNommes[type=\"DonPrtGeoProfilSection\"]"); + List nodes = path.selectNodes("allSimpleEMH/DPTGNommes[type=\"DonPrtGeoProfilSection\"]"); assertEquals(2, nodes.size()); - nodes = path.selectNodes("simpleEMH/DPTGNommes[type=\"DonPrtGeoProfilSection\"]/litNumerote/nomLit"); + nodes = path.selectNodes("allSimpleEMH/DPTGNommes[type=\"DonPrtGeoProfilSection\"]/litNumerote/nomLit"); assertEquals(4, nodes.size()); } Modified: 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/TestCrueDH.java 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDH.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -106,7 +106,8 @@ final ValidateEMHTreeWalker propValidator = new ValidateEMHTreeWalker(); // pour tester les valeurs: - List<CtuluAnalyze> validateValues = ValidatorForValuesAndContents.validateValues(data.getMetier().getScenarioData()); + List<CtuluAnalyze> validateValues = ValidatorForValuesAndContents + .validateValues(data.getMetier().getScenarioData()); for (CtuluAnalyze ctuluAnalyze : validateValues) { if (ctuluAnalyze.containsErrors()) { ctuluAnalyze.printResume(); @@ -177,7 +178,7 @@ final CtuluAnalyze analyzer = new CtuluAnalyze(); final CrueIOResu<CrueData> dataGoto = readModeleCrue9(analyzer, "/fichierTest/Modele3.dh.include"); testAnalyser(analyzer); - assertEquals("ligne 1|ligne 2|ligne 3|ligne 4|ligne 5", dataGoto.getCrueCommentaire()); + assertEquals("ligne 1\nligne 2\nligne 3\nligne 4\nligne 5", dataGoto.getCrueCommentaire()); } /** @@ -331,7 +332,7 @@ public void testLectureM3_2_e1c9() { final CtuluAnalyze log = new CtuluAnalyze(); final CrueIOResu<CrueData> readModele = readModele(log, "/Etu4-0/M4-0_c9.dc", "/Etu4-0/M4-0_e1c9.dh"); - assertTrue(readModele.getAnalyse().containsErrors()); + assertTrue(readModele.getAnalyse().containsErrorOrFatalError()); } protected void testData(final CrueData data, final boolean isApresEcriture) { Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueETUFile.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueETUFile.java 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueETUFile.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -45,13 +45,13 @@ assertNotNull(jeuDonneesLue.getScenario("Sc_Mod3")); // scenario SCMod3 contient modele MOModele3 - assertNotNull(jeuDonneesLue.getScenario("Sc_Mod3").getManagerFils("Mo_Modele3")); + assertNotNull(jeuDonneesLue.getScenario("Sc_Mod3").getManagerFils("MO_MODELE3")); // scMod 3 est scenar courant assertEquals(jeuDonneesLue.getScenarioCourant(), jeuDonneesLue.getScenario("Sc_Mod3")); final ManagerEMHModeleBase modele = jeuDonneesLue.getModele("Mo_Modele3"); - assertNotNull(modele.getManagerFils("Sm_Modele3")); - assertNotNull(modele.getManagerFils("Sm_MOModele3")); + assertNotNull(modele.getManagerFils("SM_MODELE3")); + assertNotNull(modele.getManagerFils("SM_MOMODELE3")); } Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestEMHPropertiesValidator.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestEMHPropertiesValidator.java 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestEMHPropertiesValidator.java 2010-04-06 21:50:28 UTC (rev 5738) @@ -7,6 +7,7 @@ import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.dodico.crue.common.AbstractTestCase; +import org.fudaa.dodico.crue.io.Crue10FileFormatFactory; import org.fudaa.dodico.crue.io.TestCrueDC; import org.fudaa.dodico.crue.io.TestCrueDH; import org.fudaa.dodico.crue.io.common.CrueData; @@ -50,11 +51,25 @@ allEMH.add(res.getMetier().getModele()); // allEMH.add(res.getMetier().getSousModele()); final ValidateEMHTreeWalker validator = new ValidateEMHTreeWalker(); - final List<CtuluAnalyze> validate = ValidatorForValuesAndContents.validateValues(res.getMetier().getScenarioData()); + List<CtuluAnalyze> validate = ValidatorForValuesAndContents.validateValues(res.getMetier().getScenarioData()); for (final CtuluAnalyze ctuluAnalyze : validate) { if (ctuluAnalyze.containsErrorOrFatalError()) { ctuluAnalyze.printResume(); } + // ores not read + assertTrue(ctuluAnalyze.containsErrorOrFatalError()); + } + final CtuluAnalyze ores = new CtuluAnalyze(); + Crue10FileFormatFactory.getInstance().getORES().read("/default.ores.xml", ores, res.getMetier()); + if (ores.containsErrorOrFatalError()) { + ores.printResume(); + } + validate = ValidatorForValuesAndContents.validateValues(res.getMetier().getScenarioData()); + for (final CtuluAnalyze ctuluAnalyze : validate) { + if (ctuluAnalyze.containsErrorOrFatalError()) { + ctuluAnalyze.printResume(); + } + // ores not read assertFalse(ctuluAnalyze.containsErrorOrFatalError()); } Modified: trunk/soft/fudaa-crue/dodico/src/test/resources/Etu4-0/M4-0_e1c9.dh =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/resources/Etu4-0/M4-0_e1c9.dh 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/test/resources/Etu4-0/M4-0_e1c9.dh 2010-04-06 21:50:28 UTC (rev 5738) @@ -1,9 +1,9 @@ -* Donn\xE9es g\xE9n\xE9rales +* Donn�es g�n�rales * -------------------------- * 5 lignes de titre -CrueX - Structuration des donn\xE9es +CrueX - Structuration des donn�es -Mod\xE8le de test utilisant une branche15 +Mod�le de test utilisant une branche15 PBa Jan09 sur la base de MO2009 * @@ -14,7 +14,7 @@ 2 0 0 1 1 0 0 0 0 * * -* D\xE9bits initiaux dans les branches +* D�bits initiaux dans les branches * -------------------------- Br_RET23B 560.000 Br_RET24 560.000 Br_RET25 560.000 Br_RET26 560.000 @@ -57,22 +57,22 @@ FIN * * -* Donn\xE9es permanentes +* Donn�es permanentes * -------------------------- * dtperm tolz tolq icalmx iprint ndecou 0 1 0 0 0.001 0.01 4500 1 0 * -* D\xE9finition des types des conditions aux limites -Nd_RET23 2 Entr\xE9e: Q retenue de Mont\xE9limar +* D�finition des types des conditions aux limites +Nd_RET23 2 Entr�e: Q retenue de Mont�limar Nd_CA17 2 Sortie: Q CA vers usine MO (Chateauneuf) -Nd_R1 2 Entr\xE9e: Q Roubion +Nd_R1 2 Entr�e: Q Roubion Nd_BGE3 1 Sortie: Z aval barrage MO (Rochemaure) FIN * -* Valeurs des conditions aux limites (r\xE9gimes permanents) +* Valeurs des conditions aux limites (r�gimes permanents) 560 -545 3 65.00 1000 -985 3 65.00 -* D\xE9bit semi-permanent 1360m3/s +* D�bit semi-permanent 1360m3/s 1360 -1345 3 65.00 2040 -1850 3 66.45 3005 -1850 3 68.30 @@ -103,16 +103,16 @@ 0 01 00 00 1 00 00 00 0 00 00 00 0 00 00 00 1 * * Definition des types des conditions aux limites -Nd_RET23 2 Entr\xE9e: Q retenue de Mont\xE9limar +Nd_RET23 2 Entr�e: Q retenue de Mont�limar Nd_CA17 2 Sortie: Q CA vers usine MO (Chateauneuf) -Nd_R1 2 Entr\xE9e: Q Roubion +Nd_R1 2 Entr�e: Q Roubion Nd_BGE3 1 Sortie: Z aval barrage MO (Rochemaure) FIN * * Nd_RET23 -* Erreur volontaire 1 : s'il manque le "2" de la ligne suivante indiquant que la loi est fournie \xE0 des dates donn\xE9es, -* FCv0.8 se comporte correctement en d\xE9tectant l'erreur - 2 +* Erreur volontaire 1 : s'il manque le "2" de la ligne suivante indiquant que la loi est fournie � des dates donn�es, +* FCv0.8 se comporte correctement en d�tectant l'erreur +* 2 0 00 00 00 10000 1 00 00 00 10000 FIN @@ -122,23 +122,23 @@ 0 00 00 00 -1850 1 00 00 00 -1850 * Erreur volontaire 2 : s'il manque le "FIN" de la ligne suivante. -* Cela devrait poser 2 probl\xE8mes: on va lire un "2" au lieu d'un couple date-valeur; puis \xE0 la ligne suivante, les dates ne sont pas croissantes. -* FCv0.8 ne rel\xE8ve aucune de ces deux erreurs et charge le sc\xE9nario compl\xE8tement ! +* Cela devrait poser 2 probl�mes: on va lire un "2" au lieu d'un couple date-valeur; puis � la ligne suivante, les dates ne sont pas croissantes. +* FCv0.8 ne rel�ve aucune de ces deux erreurs et charge le sc�nario compl�tement ! * FIN * * Nd_R1 2 0 00 00 00 3 2 00 00 00 3 -* Erreur volontaire 3 : ordre incorrect de la s\xE9rie temporelle -* FCv0.8 ne rel\xE8ve pas cette erreur et charge le sc\xE9nario compl\xE8tement ! +* Erreur volontaire 3 : ordre incorrect de la s�rie temporelle +* FCv0.8 ne rel�ve pas cette erreur et charge le sc�nario compl�tement ! 1 00 00 00 3 * Erreur volontaire 4 : il manque le "FIN" de la ligne suivante -* FCv0.8 ne rel\xE8ve pas cette erreur et charge le sc\xE9nario compl\xE8tement ! +* FCv0.8 ne rel�ve pas cette erreur et charge le sc�nario compl�tement ! * FIN * -* Erreur volontaire 5 : il manque le limnigramme annonc\xE9 pour la 4\xE8me CLM -* FCv0.8 ne rel\xE8ve pas cette erreur et charge le sc\xE9nario compl\xE8tement ! +* Erreur volontaire 5 : il manque le limnigramme annonc� pour la 4�me CLM +* FCv0.8 ne rel�ve pas cette erreur et charge le sc�nario compl�tement ! ** Nd_BGE3 * 2 *0 00 00 00 74.32 Modified: trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.dptg.xml =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.dptg.xml 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.dptg.xml 2010-04-06 21:50:28 UTC (rev 5738) @@ -1,6 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<DPTG xmlns="http://www.fudaa.fr/xsd/crue" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.fudaa.fr/xsd/crue http://www.fudaa.fr/xsd/crue/dptg-1.0.0.xsd"> +<DPTG xmlns="http://www.fudaa.fr/xsd/crue" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.fudaa.fr/xsd/crue http://www.fudaa.fr/xsd/crue/dptg-1.0.0.xsd"> <!-- Le fichier DPTG décrit les données nécessitant un prétraitement géométriques d'un modèle CrueX. Son périmètre est le sous-modèle @@ -67,8 +66,10 @@ </LitNumerotes> </ProfilSection> <ProfilSection Nom="Ps_PROF10"> - <LargeurFente>23</LargeurFente> - <ProfondeurFente>23</ProfondeurFente> + <Fente> + <LargeurFente>23</LargeurFente> + <ProfondeurFente>23</ProfondeurFente> + </Fente> <EvolutionFF> <PointFF>0.00 6.00</PointFF> <PointFF>2.00 5.00</PointFF> Modified: trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.ores.xml =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.ores.xml 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.ores.xml 2010-04-06 21:50:28 UTC (rev 5738) @@ -23,8 +23,8 @@ </OrdResCasierMNT> --> <OrdResCasierProfil> + <DdeQech>true</DdeQech> <DdeSplan>true</DdeSplan> - <DdeQech>true</DdeQech> <DdeVol>true</DdeVol> </OrdResCasierProfil> </OrdResCasiers> Modified: trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele7.dc =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele7.dc 2010-03-31 14:39:47 UTC (rev 5737) +++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele7.dc 2010-04-06 21:50:28 UTC (rev 5738) @@ -1,37 +1,37 @@ -TITRE CrueX - Structuration des donn\xE9es +TITRE CrueX - Structuration des donn�es TITRE -TITRE Mod\xE8le de test avec ruissellement +TITRE Mod�le de test avec ruissellement TITRE TITRE PBa Mai09 sur la base de DM_bon0704 -* modification de l'\x82vacuateur de crue (amont barrage de Donz\x8Are) par lemaignan -* en octobre 98. Mise en place de profils tous les 50 m, num\x82rot\x82s de P1 \x85 P17 -* selon les lev\x82s de 02-98 -* comparaison avec le projet de dragage ayant \x82t\x82 utilis\x82 lors des entretiens -* pr\x82c\x82dents (dm97ba.dc et .dh) ainsi qu'avec les cotes de cr\x88tes de digues +* modification de l'�vacuateur de crue (amont barrage de Donz�re) par lemaignan +* en octobre 98. Mise en place de profils tous les 50 m, num�rot�s de P1 � P17 +* selon les lev�s de 02-98 +* comparaison avec le projet de dragage ayant �t� utilis� lors des entretiens +* pr�c�dents (dm97ba.dc et .dh) ainsi qu'avec les cotes de cr�tes de digues * * -*mise \x85 jour des profils de la retenue avec lev\x82s de juin 1995 +*mise � jour des profils de la retenue avec lev�s de juin 1995 ** *** *** *** *** * ** ** * ** ** *** *** *** ** * * * * ** ** * -*ce fichier est forme \x85 partir du fichier du rcc de MO mis \x85 jour -* par BARD \x85 partir des leves de 1994 (fichier RCC94.DC) et du -* fichier DONFINAL.DC enregistr\x82 dans la s/directory CONSCIENCE +*ce fichier est forme � partir du fichier du rcc de MO mis � jour +* par BARD � partir des leves de 1994 (fichier RCC94.DC) et du +* fichier DONFINAL.DC enregistr� dans la s/directory CONSCIENCE * du projet RHONE2000.DONZERE * **ETUDE GLOBALE-septembre 1999**** *fichier d'origine : dm97c.dc * -***Modification r\x82alis\x82es par Roland KORETA en septembre 1999*** +***Modification r�alis�es par Roland KORETA en septembre 1999*** * -*1. Modification des casiers dans le Vieux-Rh\x93ne de Montelimar +*1. Modification des casiers dans le Vieux-Rh�ne de Montelimar *2. Nouvelle passe navigable_Branche BNAV22:cote du seuil 53.25 -*3. Les hauteurs des orifices mod\x82lisant les barrages de garde -* sont chang\x82es: BNAV12:11m; BNAV22:13m; BUSIA:11m +*3. Les hauteurs des orifices mod�lisant les barrages de garde +* sont chang�es: BNAV12:11m; BNAV22:13m; BUSIA:11m *4. Dans le DH la condition limite sur le noeud BUSIA est de type 41 -*5. Le seuil au p169.7 est supprim\x82 (l'endiguement est insubmersible) -*6. Le casier NC5 est aliment\x82 par les vannes situ\x82es sous la D 86J +*5. Le seuil au p169.7 est supprim� (l'endiguement est insubmersible) +*6. Le casier NC5 est aliment� par les vannes situ�es sous la D 86J *7. Liaison Strickler entre les casiers NC3 et NC4. -*8. Modification des Stricklers du Vieux-Rh\x93ne et de la retenue +*8. Modification des Stricklers du Vieux-Rh�ne et de la retenue * **** mofification realisees par Sandie.Raimondo en Decembre 2000 * @@ -56,12 +56,12 @@ * coherent avec la cartographie (cf : M.Garcia) * ***************************************************************************** -* CE FICHIER EST UTILISE POUR L'ETALONNAGE DU MODELE (Niveau au PR2 impos\x82)* +* CE FICHIER EST UTILISE POUR L'ETALONNAGE DU MODELE (Niveau au PR2 impos�)* * SI ON VEUT ETABLIR L'ETAT DE REFERENCE IL FAUT RESPECTER LA CONSIGNE****** * D'EXPLOITATION (BRANCHE 15)-ON UTILISE ALORS LE FICHIER DMDICE09992.dc*** ***************************************************************************** * -* d\x82finition des donn\x82es g\x82n\x82rales +* d�finition des donn�es g�n�rales ******************************************** * DAL G TETA ISORTI COEFF 1.00 0.75 @@ -592,7 +592,7 @@ * ALSEUI ZSEUIL CSEUIL SEUIL 420.000 67.000 1.000 *************************************************************************** -* BRANCHE 46 - Canal de fuite de mont\x82limar +* BRANCHE 46 - Canal de fuite de mont�limar ************************************************************************ * Branche Npam Npav Ntyp Imax Ruibra BRANCHE B46 PCF1 P166 20 @@ -894,7 +894,7 @@ * GOTO TOTO * -*Travers\x82e du barrage de donzere - Loi de type 15 +*Travers�e du barrage de donzere - Loi de type 15 BRANCHE BF1 P171.5 P171.7 15 * NBPQ Qmin Qmax NOMREF Phi Npas Lpas Zseuil Cseuil QMIN/QMAX -400.0000 10500.0000 @@ -983,7 +983,7 @@ ************ * * -* Branche N\xF8 1 Canal d'amen\x82e premi\x8Are partie ==Entr\x82e Canal Au pont SNCF== +* Branche N� 1 Canal d'amen�e premi�re partie ==Entr�e Canal Au pont SNCF== * BRANCHE BCA8 P170.90 P171.50 20 DISTANCE 100.0000 100.0000 100.0000 100.0000 100.0000 @@ -1000,7 +1000,7 @@ PROF P172.50 P172.60 P172.70 P172.80 P172.90 PROF P173.00 * -* Branche N\xF8 1 Canal d'amen\x82e premi\x8Are partie ==Entr\x82e Canal Au pont SNCF== +* Branche N� 1 Canal d'amen�e premi�re partie ==Entr�e Canal Au pont SNCF== * (suite) BRANCHE BCA15 P173.00 P174.50 20 DISTANCE 100.0000 100.0000 100.0000 100.0000 100.0000 @@ -1011,7 +1011,7 @@ PROF P174.00 P174.10 P174.20 P174.30 P174.40 PROF P174.50 * -* Branche N\xF8 2 * +* Branche N� 2 * * BRANCHE BCA20 P174.50 P176.50 20 DISTANCE 25.0000 75.0000 75.0000 25.0000 120.0000 @@ -1025,7 +1025,7 @@ PROF P175.80 P175.90 P176.00 P176.10 P176.20 PROF P176.30 P176.40 P176.50 * -* Branche N\xF8 2 canal d'amen\x82e (suite) +* Branche N� 2 canal d'amen�e (suite) * BRANCHE BCA25 P176.50 P178.700 20 DISTANCE 100.0000 100.0000 100.0000 100.0000 100.0000 @@ -1039,7 +1039,7 @@ PROF P178.00 P178.10 P178.20 P178.30 P178.40 PROF P178.50 P178.60 PCD358 P178.700 * -* Branche N\xF8 3 Canal d'amen\x82e partie F.M. +* Branche N� 3 Canal d'amen�e partie F.M. * BRANCHE BCA30 P178.700 P180.50 20 DISTANCE 100.0000 100.0000 100.0000 100.0000 100.0000 @@ -1051,7 +1051,7 @@ PROF P179.700 P179.800 P179.900 P180.000 P180.100 PROF P180.200 P180.300 P180.400 P180.50 * -* Branche N\xF8 4 Canal d'amen\x82e fin +* Branche N� 4 Canal d'amen�e fin * BRANCHE BCA40 P180.50 P182.00 20 DISTANCE 45.0000 55.0000 100.0000 100.0000 100.0000 @@ -1072,7 +1072,7 @@ PROF P183.00 P183.10 P183.20 P183.30 P183.40 PROF P183.50 * -* Branche N\xF8 4 Canal d'amen\x82e fin (suite) jusqu'au canal Ecluse +* Branche N� 4 Canal d'amen�e fin (suite) jusqu'au canal Ecluse * BRANCHE BCA45 P183.50 P185.00 20 DISTANCE 100.0000 100.0000 100.0000 100.0000 100.0000 @@ -1092,7 +1092,7 @@ PROF P185.90 P186.00 P186.10 P186.20 P186.30 PROF P186.40 * -* Branche N\xF8 4 Canal d'amen\x82e fin (suite) jusqu'\x85 L'usine +* Branche N� 4 Canal d'amen�e fin (suite) jusqu'� L'usine * BRANCHE BCA47 P186.40 Ca187.20 20 DISTANCE 100.0000 100.0000 100.0000 100.0000 100.0000 @@ -1100,7 +1100,7 @@ PROF CA186.40 CA186.50 CA186.60 CA186.70 CA186.80 PROF CA186.90 CA187.00 CA187.10 CA187.20 * -* BRANCHE MENANT \x85 L'ECLUSE +* BRANCHE MENANT � L'ECLUSE * BRANCHE BCE P186.40 ce187.25 20 DISTANCE 100.0000 100.0000 100.0000 100.0000 100.0000 @@ -1167,8 +1167,8 @@ SEUIL 280.000 60.250 1.000 SEUIL 40.000 59.500 1.000 * -***RK le seuil est supprim\x82 parce que l'endiguement est insubmersible -*pas de d\x82versement***** +***RK le seuil est supprim� parce que l'endiguement est insubmersible +*pas de d�versement***** *BCN5 P169.7 NC5 4 2 0 *1 *1800 62.50 1 @@ -2019,7 +2019,7 @@ STRIREFZ PRCAS109MIN 50.00 15 STRIREFZ PRCAS910MIN 50.00 15 ************************************** -*Branches strickler - D\x82viation du Teil +*Branches strickler - D�viation du Teil *Rive droite * ****************... [truncated message content] |