From: <de...@us...> - 2009-05-10 17:34:47
|
Revision: 4750 http://fudaa.svn.sourceforge.net/fudaa/?rev=4750&view=rev Author: deniger Date: 2009-05-10 17:34:42 +0000 (Sun, 10 May 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDFRTFile.java trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dfrt.xml trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/EMHGeneralBuilder.java Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/RemplissageData.java trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dfrt.new.xml Deleted: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/RemplissageData.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/RemplissageData.java 2009-05-10 17:33:18 UTC (rev 4749) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/RemplissageData.java 2009-05-10 17:34:42 UTC (rev 4750) @@ -1,578 +0,0 @@ -package org.fudaa.dodico.crue.io; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import org.fudaa.dodico.crue.io.dao.DonPrtCIniCasierProfil; -import org.fudaa.dodico.crue.metier.CrueData; -import org.fudaa.dodico.crue.metier.CrueDataImpl; -import org.fudaa.dodico.crue.metier.emh.*; -import org.fudaa.dodico.crue.metier.helper.EMHHelper; -import org.fudaa.dodico.crue.metier.helper.EMHNoeudHelper; - -public class RemplissageData { - - /** - * remplit l'ensemble des donn�es pour faire les test. Methode a updgrader et a reutiliser poru centraliser les tests. - * - * @return - */ - public static CrueData remplissageDonneeTest() { - final CrueData data = new CrueDataImpl(); - - // -- cr�ation de noeuds --// - DonPrtCIniNoeudNiveauContinu condInitNoeud = null; - int cptNoeuds = 1; - while (cptNoeuds < 25) { - final CatEMHNoeud noeud = new CatEMHNoeud("N" + cptNoeuds++); - // -- 2 condition init pour tous les noeuds --// - condInitNoeud = new DonPrtCIniNoeudNiveauContinu(); - condInitNoeud.setZIni(cptNoeuds); - noeud.addDPTI(condInitNoeud); - - condInitNoeud = new DonPrtCIniNoeudNiveauContinu(); - condInitNoeud.setZIni(cptNoeuds + 25); - noeud.addDPTI(condInitNoeud); - - data.getNoeuds().add(noeud); - } - - // --Creation des donnees DONFRT --// - final List<DonFrt> listeDonFrt = remplissageDonneeTestDFRT(); - - // -- creation des casiers--// - EMHCasierProfil casierProfil = new EMHCasierProfil("CASIER PROFIL 001"); - casierProfil.setActive(false); - // -- Donnees DPTI --// - DonPrtCIniCasierProfil condInitCasier = new DonPrtCIniCasierProfil(); - condInitCasier.setQruis(234.123); - casierProfil.addDPTI(condInitCasier); - // -- recherche du noeud 25 precedemment ins�r� --// - final CatEMHNoeud noeud25 = EMHNoeudHelper.findByReference("N22", data); - casierProfil.setNoeud(noeud25); - // -- Donnees DPTG --// - // -- Ajout de 3 donn�es DPTG --// - DonPrtGeoProfilCasier geoCasier = new DonPrtGeoProfilCasier(); - geoCasier.setListeProfils(remplirSeriesProfilsDPTG(2)); - geoCasier.setLongueur(777); - geoCasier.setNom("PROFIL01 de 001"); - // geoCasier.setMLitNumerotes(remplirLitsDPTG(3, listeDonFrt.get(0), listeDonFrt.get(5))); - casierProfil.addDPTG(geoCasier); - - geoCasier = new DonPrtGeoProfilCasier(); - geoCasier.setListeProfils(remplirSeriesProfilsDPTG(8)); - geoCasier.setLongueur(423); - geoCasier.setNom("PROFIL02 de 001"); - // geoCasier.setMLitNumerotes(remplirLitsDPTG(3, listeDonFrt.get(5), listeDonFrt.get(6))); - casierProfil.addDPTG(geoCasier); - - geoCasier = new DonPrtGeoProfilCasier(); - geoCasier.setListeProfils(remplirSeriesProfilsDPTG(1)); - geoCasier.setLongueur(2); - geoCasier.setNom("PROFIL03 de 001"); - // geoCasier.setMLitNumerotes(remplirLitsDPTG(3, listeDonFrt.get(2), listeDonFrt.get(1))); - casierProfil.addDPTG(geoCasier); - - data.add(casierProfil); - - // -- ajout d'un autre casier profil qui utilise le meme profil DPTG --// - casierProfil = new EMHCasierProfil("CASIER PROFIL PIque DPTG"); - casierProfil.setActive(false); - final CatEMHNoeud noeud17 = EMHNoeudHelper.findByReference("N17", data); - casierProfil.setNoeud(noeud17); - // -- Donnees DPTG --// - casierProfil.addDPTG(geoCasier); - data.add(casierProfil); - - final EMHCasierMNT casierMNT = new EMHCasierMNT("CASIER MNT 002"); - casierMNT.setActive(true); - // -- recherche du noeud 12 precedemment ins�r� --// - final CatEMHNoeud noeud12 = EMHNoeudHelper.findByReference("N12", data); - casierMNT.setNoeud(noeud12); - condInitCasier = new DonPrtCIniCasierProfil(); - condInitCasier.setQruis(12.11); - casierMNT.addDPTI(condInitCasier); - data.add(casierMNT); - - // -- creation des sections --// - final EMHSectionInterpolee interpol = new EMHSectionInterpolee("SEC INT"); - - // -- dscp --// - DonCalcSansPrtSection calculSection = new DonCalcSansPrtSection(); - calculSection.setCoeffConv(12.25); - calculSection.setCoeffDiv(11.13); - calculSection.setCoeffPond(2.251524); - interpol.addDSCP(calculSection); - - data.add(interpol); - - // -- Section Profil --// - final EMHSectionProfil profil = new EMHSectionProfil("SEC PROF"); - - // -- dscp --// - calculSection = new DonCalcSansPrtSection(); - calculSection.setCoeffConv(09.11); - calculSection.setCoeffDiv(11); - calculSection.setCoeffPond(212.2); - profil.addDSCP(calculSection); - - // -- Donnees DPTG --// - // -- Ajout de 3 donn�es DPTG --// - final DonPrtGeoProfilSection geoSection = new DonPrtGeoProfilSection(); - geoSection.setListeProfils(remplirSeriesProfilsDPTG(2)); - geoSection.setNom("PROFIL_SECTION_007"); - geoSection.setMLitNumerotes(remplirLitsDPTG(3, listeDonFrt.get(0), listeDonFrt.get(5))); - profil.addDPTG(geoSection); - data.add(profil); - - final EMHSectionSansGeometrie geometrie = new EMHSectionSansGeometrie("SEC GEOM"); - - // -- dscp --// - calculSection = new DonCalcSansPrtSection(); - calculSection.setCoeffConv(255); - calculSection.setCoeffDiv(999); - calculSection.setCoeffPond(777); - geometrie.addDSCP(calculSection); - data.add(geometrie); - - // -- Section Idem --// - final EMHSectionIdem sectionIdem = new EMHSectionIdem("SEC IDEM"); - - // -- dscp --// - final DonCalcSansPrtSection calculSection2 = new DonCalcSansPrtSection(); - calculSection2.setCoeffConv(12.25); - calculSection2.setCoeffDiv(11.13); - calculSection2.setCoeffPond(2.251524); - sectionIdem.addDSCP(calculSection2); - - // -- DPTG --// - final DonPrtGeoSectionIdem geoIdem = new DonPrtGeoSectionIdem(); - geoIdem.setDW(65535); - sectionIdem.addDPTG(geoIdem); - data.add(sectionIdem); - - // -- creation des branches --// - DonPrtCIniBranche condInitBranche1 = null; - DonPrtCIniBrancheOrifice condInitBranche2 = null; - - // EMHBrancheSaintVenant - final EMHBrancheSaintVenant branche1 = new EMHBrancheSaintVenant("BRANCHE VENANT1"); - branche1.setActive(true); - branche1.setNoeudAmont(EMHNoeudHelper.findByReference("N12", data)); - branche1.setNoeudAval(EMHNoeudHelper.findByReference("N1", data)); - - // -- donnees DPTI --// - condInitBranche1 = new DonPrtCIniBranche(); - condInitBranche1.setQinit(12.5); - branche1.addDPTI(condInitBranche1); - // -- donnees DSCP --// - final DonCalcSansPrtBrancheSaintVenant dataCalcul = new DonCalcSansPrtBrancheSaintVenant(); - dataCalcul.setCoeffBeta(5.55); - dataCalcul.setCoefRuis(6.66); - dataCalcul.setCoeffRuisQdm(7.77); - branche1.addDSCP(dataCalcul); - List<RelationEMH> listeSections = new ArrayList<RelationEMH>(); - HashMap<String, Object> map = new HashMap<String, Object>(); - map.put(EMHHelper.Pos_section, "POSITION SECTION INTERPOL"); - map.put(EMHHelper.Xp_section, 123.4); - - listeSections.add(new RelationEMH(interpol, map)); - map = new HashMap<String, Object>(); - map.put(EMHHelper.Pos_section, "POSITION SECTION GEOMETRIE"); - map.put(EMHHelper.Xp_section, 123.4); - - listeSections.add(new RelationEMH(geometrie, map)); - branche1.setListeSections(listeSections); - - // -- Donnees DPTG --// - final DonPrtGeoBrancheSaintVenant geoPrt = new DonPrtGeoBrancheSaintVenant(); - geoPrt.setCoefSinuo(255); - branche1.addDPTG(geoPrt); - - data.add(branche1); - - // EMHBrancheBarrageGenerique - final EMHBrancheBarrageGenerique branche2 = new EMHBrancheBarrageGenerique("BRANCHE CHANEL"); - branche2.setActive(false); - branche2.setNoeudAmont(EMHNoeudHelper.findByReference("N5", data)); - branche2.setNoeudAval(EMHNoeudHelper.findByReference("N7", data)); - - // -- donnees DPTI --// - condInitBranche1 = new DonPrtCIniBranche(); - condInitBranche1.setQinit(2.5); - - branche2.addDPTI(condInitBranche1); - - // -- donnees DSCP --// - final DonCalcSansPrtBrancheBarrageFilEau dataCalcul1 = new DonCalcSansPrtBrancheBarrageFilEau(); - dataCalcul1.setQLimInf(144); - dataCalcul1.setQLimSup(441); - LoiFF loi = new LoiFF(); - loi.setNom("Loi BRANCHE GENE"); - dataCalcul1.setRegimeDenoye(loi); - dataCalcul1.setListElt(remplirListeSeuils()); - branche2.addDSCP(dataCalcul1); - - listeSections = new ArrayList<RelationEMH>(); - map = new HashMap<String, Object>(); - map.put(EMHHelper.Pos_section, "POSITION SECTION PROFIL"); - map.put(EMHHelper.Xp_section, 212.121); - listeSections.add(new RelationEMH(profil, map)); - branche2.setListeSections(listeSections); - data.add(branche2); - - // EMHBrancheOrifice - final EMHBrancheOrifice branche3 = new EMHBrancheOrifice("BRANCHE ORIFICE"); - branche3.setActive(false); - branche3.setNoeudAmont(EMHNoeudHelper.findByReference("N5", data)); - branche3.setNoeudAval(EMHNoeudHelper.findByReference("N7", data)); - // -- donnees DPTI --// - condInitBranche2 = new DonPrtCIniBrancheOrifice(); - condInitBranche2.setQinit(65535); - condInitBranche2.setOuvPasseDessous(255); - branche3.addDPTI(condInitBranche2); - // -- donnees DSCP --// - // -- liste element orifices --// - final DonCalcSansPrtBrancheOrifice dataCalcul2 = new DonCalcSansPrtBrancheOrifice(); - dataCalcul2.setElement(remplirListeOrifices()); - branche3.addDSCP(dataCalcul2); - - listeSections = new ArrayList<RelationEMH>(); - map = new HashMap<String, Object>(); - map.put(EMHHelper.Pos_section, "Test"); - map.put(EMHHelper.Xp_section, 777); - listeSections.add(new RelationEMH(profil, map)); - branche3.setListeSections(listeSections); - data.add(branche3); - - // EMHBrancheSeuilTransversal - final EMHBrancheSeuilTransversal branche4 = new EMHBrancheSeuilTransversal("BRANCHE TRANSVERSALE ELEMSEUIL"); - branche4.setActive(false); - branche4.setNoeudAmont(EMHNoeudHelper.findByReference("N3", data)); - branche4.setNoeudAval(EMHNoeudHelper.findByReference("N12", data)); - // -- donnees DPTI --// - condInitBranche1 = new DonPrtCIniBranche(); - condInitBranche1.setQinit(12.254); - branche4.addDPTI(condInitBranche1); - - // -- donnees DSCP --// - // -- liste element orifices --// - final DonCalcSansPrtBrancheSeuilTransversal dataCalcul3 = new DonCalcSansPrtBrancheSeuilTransversal(); - dataCalcul3.setListElt(remplirListeSeuilsPDC()); - dataCalcul3.setFormulePdc("Divergent"); - branche4.addDSCP(dataCalcul3); - - listeSections = new ArrayList<RelationEMH>(); - map = new HashMap<String, Object>(); - map.put(EMHHelper.Pos_section, "Profil Test"); - map.put(EMHHelper.Xp_section, 458); - listeSections.add(new RelationEMH(profil, map)); - branche4.setListeSections(listeSections); - data.add(branche4); - - // EMHBrancheSeuilLongitudinal - final EMHBrancheSeuilLateral branche5 = new EMHBrancheSeuilLateral("BRANCHE LATERALE ELEMSEUIL"); - branche5.setActive(false); - branche5.setNoeudAmont(EMHNoeudHelper.findByReference("N3", data)); - branche5.setNoeudAval(EMHNoeudHelper.findByReference("N12", data)); - // -- donnees DPTI --// - condInitBranche1 = new DonPrtCIniBranche(); - condInitBranche1.setQinit(12.254); - branche5.addDPTI(condInitBranche1); - - // -- donnees DSCP --// - // -- liste element orifices --// - final DonCalcSansPrtBrancheSeuilLateral dataCalcul4 = new DonCalcSansPrtBrancheSeuilLateral(); - dataCalcul4.setListElt(remplirListeSeuilsPDC()); - dataCalcul4.setFormulePdc("Convergent"); - branche5.addDSCP(dataCalcul4); - - listeSections = new ArrayList<RelationEMH>(); - map = new HashMap<String, Object>(); - map.put(EMHHelper.Pos_section, "Profil Test 3"); - map.put(EMHHelper.Xp_section, 457); - listeSections.add(new RelationEMH(profil, map)); - branche5.setListeSections(listeSections); - data.add(branche5); - - // EMHBrancheBarrageFilEau - final EMHBrancheBarrageFilEau branche6 = new EMHBrancheBarrageFilEau("BRANCHE BARRAGE FIL EAU"); - branche6.setActive(false); - branche6.setNoeudAmont(EMHNoeudHelper.findByReference("N3", data)); - branche6.setNoeudAval(EMHNoeudHelper.findByReference("N12", data)); - // -- donnees DPTI --// - condInitBranche1 = new DonPrtCIniBranche(); - condInitBranche1.setQinit(12.254); - branche6.addDPTI(condInitBranche1); - - // -- donnees DSCP --// - // -- liste element orifices --// - final DonCalcSansPrtBrancheBarrageFilEau dataCalcul5 = new DonCalcSansPrtBrancheBarrageFilEau(); - dataCalcul5.setQLimInf(144); - dataCalcul5.setQLimSup(441); - loi = new LoiFF(); - loi.setNom("Loi Speciale"); - dataCalcul5.setRegimeDenoye(loi); - dataCalcul5.setListElt(remplirListeSeuils()); - branche6.addDSCP(dataCalcul5); - - listeSections = new ArrayList<RelationEMH>(); - map = new HashMap<String, Object>(); - map.put(EMHHelper.Pos_section, "VAR TEST profil"); - map.put(EMHHelper.Xp_section, 111); - listeSections.add(new RelationEMH(profil, map)); - branche6.setListeSections(listeSections); - data.add(branche6); - - // EMHBranchePdc - final EMHBranchePdc branche7 = new EMHBranchePdc("BRANCHE PDC"); - branche7.setActive(false); - branche7.setNoeudAmont(EMHNoeudHelper.findByReference("N3", data)); - branche7.setNoeudAval(EMHNoeudHelper.findByReference("N12", data)); - // -- donnees DPTI --// - condInitBranche1 = new DonPrtCIniBrancheOrifice(); - condInitBranche1.setQinit(12.254); - branche7.addDPTI(condInitBranche1); - - // -- donnees DSCP --// - // -- liste element orifices --// - final DonCalcSansPrtBranchePDC dataCalcul6 = new DonCalcSansPrtBranchePDC(); - - loi = new LoiFF(); - loi.setNom("Loi du PDC"); - dataCalcul6.setPdc_DZ(loi); - branche7.addDSCP(dataCalcul6); - - listeSections = new ArrayList<RelationEMH>(); - map = new HashMap<String, Object>(); - map.put(EMHHelper.Pos_section, "profil section"); - map.put(EMHHelper.Xp_section, 12345); - listeSections.add(new RelationEMH(profil, map)); - branche7.setListeSections(listeSections); - data.add(branche7); - - return data; - } - - public static List<LitNumerote> remplirLitsDPTG(final int a, final DonFrt don1, final DonFrt don2) { - final List<LitNumerote> listeLits = new ArrayList<LitNumerote>(); - - LitNumerote litNum = new LitNumerote(); - - litNum.setDebut(new PtProfil(13.2 * a, 101.2 * a)); - litNum.setFin(new PtProfil(44.2 * a, 2000.2 * a)); - litNum.setEstActif(true); - litNum.setEstMineur(false); - litNum.setMDonFrt(don1); - listeLits.add(litNum); - - litNum = new LitNumerote(); - litNum.setDebut(new PtProfil(200 * a, 11.2 * a)); - litNum.setFin(new PtProfil(1000 * a, 13 * a)); - litNum.setEstActif(false); - litNum.setEstMineur(true); - litNum.setMDonFrt(don2); - listeLits.add(litNum); - - return listeLits; - } - - public static List<PtProfil> remplirSeriesProfilsDPTG(final int a) { - final List<PtProfil> listeProfils = new ArrayList<PtProfil>(); - listeProfils.add(new PtProfil(13.2 * a, 101.2 * a)); - listeProfils.add(new PtProfil(1.2 * a, 12 * a)); - listeProfils.add(new PtProfil(2.2 * a, 2 * a)); - listeProfils.add(new PtProfil(123.2 * a, 10 * a)); - listeProfils.add(new PtProfil(1003.2 * a, 11 * a)); - listeProfils.add(new PtProfil(143.2 * a, 12 * a)); - listeProfils.add(new PtProfil(1.2 * a, 111 * a)); - listeProfils.add(new PtProfil(13.2 * a, 777 * a)); - listeProfils.add(new PtProfil(0.2 * a, 5.2 * a)); - listeProfils.add(new PtProfil(12.2 * a, 0.2 * a)); - listeProfils.add(new PtProfil(5.2 * a, 1.2 * a)); - listeProfils.add(new PtProfil(99.2 * a, 2.2 * a)); - listeProfils.add(new PtProfil(102.2 * a, 111.2 * a)); - return listeProfils; - } - - public static List<ElemOrifice> remplirListeOrifices() { - final List<ElemOrifice> listeEltSeuilsOrifices = new ArrayList<ElemOrifice>(); - ElemOrifice orif = new ElemOrifice(); - orif.setCoeffCtrLim(999); - orif.setCoeffQ(23); - orif.setLarg(11); - orif.setSens("Bidirect"); - orif.setZSeuil(22.23); - listeEltSeuilsOrifices.add(orif); - orif = new ElemOrifice(); - orif.setCoeffCtrLim(543); - orif.setCoeffQ(12345); - orif.setLarg(987); - orif.setSens("Uni"); - orif.setZSeuil(1.9); - listeEltSeuilsOrifices.add(orif); - orif = new ElemOrifice(); - orif.setCoeffCtrLim(2); - orif.setCoeffQ(3); - orif.setLarg(4); - orif.setSens("5 Uni"); - orif.setZSeuil(6); - listeEltSeuilsOrifices.add(orif); - return listeEltSeuilsOrifices; - } - - public static List<ElemSeuilAvecPdc> remplirListeSeuilsPDC() { - final List<ElemSeuilAvecPdc> listeEltSeuils = new ArrayList<ElemSeuilAvecPdc>(); - ElemSeuilAvecPdc orif = new ElemSeuilAvecPdc(); - orif.setCoeffPdc(23); - orif.setCoeffD(23); - orif.setLarg(11); - orif.setZSeuil(22.23); - listeEltSeuils.add(orif); - orif = new ElemSeuilAvecPdc(); - orif.setCoeffPdc(1.1); - orif.setCoeffD(12345); - orif.setLarg(987); - orif.setZSeuil(1.9); - listeEltSeuils.add(orif); - orif = new ElemSeuilAvecPdc(); - orif.setCoeffPdc(99.9); - orif.setCoeffD(3); - orif.setLarg(4); - orif.setZSeuil(6); - listeEltSeuils.add(orif); - return listeEltSeuils; - } - - public static List<ElemSeuil> remplirListeSeuils() { - final List<ElemSeuil> listeEltSeuils = new ArrayList<ElemSeuil>(); - ElemSeuil orif = new ElemSeuil(); - - orif.setCoeffD(23); - orif.setLarg(11); - orif.setZSeuil(22.23); - listeEltSeuils.add(orif); - orif = new ElemSeuil(); - - orif.setCoeffD(12345); - orif.setLarg(987); - orif.setZSeuil(1.9); - listeEltSeuils.add(orif); - orif = new ElemSeuil(); - - orif.setCoeffD(3); - orif.setLarg(4); - orif.setZSeuil(6); - listeEltSeuils.add(orif); - return listeEltSeuils; - } - - public static CrueData remplissageDonneeTestErreur() { - final CrueData res = remplissageDonneeTest(); - - res.getAllEMH().remove(EMHNoeudHelper.findByReference("N5", res)); - res.getAllEMH().remove(EMHNoeudHelper.findByReference("N12", res)); - res.getAllEMH().remove(EMHNoeudHelper.findByReference("N3", res)); - res.getAllEMH().remove(EMHNoeudHelper.findByReference("N1", res)); - - return res; - } - - /** - * remplit l'ensemble des donn�es pour faire les test. Methode a updgrader et a reutiliser poru centraliser les tests. - * - * @return - */ - public static List<DonFrt> remplissageDonneeTestDFRT() { - final List<DonFrt> data = new ArrayList<DonFrt>(); - - DonFrt ref1 = new StriRefC("ref#stric"); - ref1.addPoint(new FrottementPoint(10, 20)); - data.add(ref1); - ref1 = new StriRefZ("rsdfsf"); - ref1.addPoint(new FrottementPoint(12, 23)); - ref1.addPoint(new FrottementPoint(452, 1)); - data.add(ref1); - ref1 = new StriRefH("test"); - ref1.addPoint(new FrottementPoint(1, 1)); - ref1.addPoint(new FrottementPoint(1222, 2143)); - data.add(ref1); - ref1 = new StriRefC("@#hgf55"); - ref1.addPoint(new FrottementPoint(10, 20)); - ref1.addPoint(new FrottementPoint(12, 23)); - data.add(ref1); - ref1 = new StriRefH("12 235"); - ref1.addPoint(new FrottementPoint(10, 20)); - ref1.addPoint(new FrottementPoint(1712, 52253)); - data.add(ref1); - ref1 = new StriRefH("XIII"); - ref1.addPoint(new FrottementPoint(10, 20)); - ref1.addPoint(new FrottementPoint(2, 3)); - data.add(ref1); - data.add(ref1); - ref1 = new StriRefZ("ba28 d"); - ref1.addPoint(new FrottementPoint(10, 20)); - ref1.addPoint(new FrottementPoint(666, 555)); - data.add(ref1); - data.add(ref1); - ref1 = new StriRefZ("ref z"); - ref1.addPoint(new FrottementPoint(14, 16)); - ref1.addPoint(new FrottementPoint(10, 20)); - data.add(ref1); - ref1 = new StriRefZ("rh 132"); - ref1.addPoint(new FrottementPoint(10, 20)); - ref1.addPoint(new FrottementPoint(12, 23)); - data.add(ref1); - ref1 = new StriRefH("refh12"); - ref1.addPoint(new FrottementPoint(10, 20)); - ref1.addPoint(new FrottementPoint(2112, 3223)); - data.add(ref1); - - return data; - } - - public static List<DonFrt> remplissageDonneeTestErreurDFRT() { - final List<DonFrt> data = new ArrayList<DonFrt>(); - - DonFrt ref1 = new StriRefC("ref#stric"); - ref1.addPoint(new FrottementPoint(10, 20)); - data.add(ref1); - ref1 = new StriRefZ("rsdfsf"); - ref1.addPoint(new FrottementPoint(12, 23)); - data.add(ref1); - ref1 = new StriRefH("test"); - ref1.addPoint(new FrottementPoint(1, 1)); - data.add(ref1); - ref1 = new StriRefC("@#hgf55"); - ref1.addPoint(new FrottementPoint(10, 20)); - data.add(ref1); - ref1 = new StriRefH("12 235"); - ref1.addPoint(new FrottementPoint(10, 20)); - data.add(ref1); - ref1 = new StriRefH("XIII"); - ref1.addPoint(new FrottementPoint(10, 20)); - data.add(ref1); - ref1 = new StriRefZ("ba28 d"); - ref1.addPoint(new FrottementPoint(10, 20)); - data.add(ref1); - ref1 = new StriRefZ("ref z"); - ref1.addPoint(new FrottementPoint(10, 20)); - data.add(ref1); - ref1 = new StriRefZ("rh 132"); - ref1.addPoint(new FrottementPoint(10, 20)); - data.add(ref1); - ref1 = new StriRefH("refh12"); - ref1.addPoint(new FrottementPoint(10, 20)); - data.add(ref1); - - return data; - } - - public static OrdPrtGeoModeleBase remplissageDonneeTestErreurOPTG() { - final OrdPrtGeoModeleBase data = new OrdPrtGeoModeleBase(); - - return data; - } - -} Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDFRTFile.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDFRTFile.java 2009-05-10 17:33:18 UTC (rev 4749) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDFRTFile.java 2009-05-10 17:34:42 UTC (rev 4750) @@ -6,6 +6,8 @@ import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.dodico.crue.metier.emh.DonFrt; +import org.fudaa.dodico.crue.metier.emh.DonFrtList; +import org.fudaa.dodico.crue.metier.emh.StriRefC; @SuppressWarnings("PMD.SystemPrintln") public class TestCrueDFRTFile extends AbstractIOTestCase { @@ -67,22 +69,25 @@ */ public void testDonFrt(final List<DonFrt> frts) { assertNotNull(frts); - System.err.println(frts.size()); for (final DonFrt donfrt : frts) { assertNotNull(donfrt); } - assertEquals(0.00, frts.get(1).getListePoints().get(0).getX()); - assertEquals(10.00, frts.get(1).getListePoints().get(1).getX()); - assertEquals(15.00, frts.get(1).getListePoints().get(0).getY()); - assertEquals(15.00, frts.get(1).getListePoints().get(1).getY()); + StriRefC striRefC = (StriRefC) frts.get(0); + assertEquals("FK0", striRefC.getNom()); + assertDoubleEquals(0, striRefC.k); + DonFrtList donFrtList = (DonFrtList) frts.get(1); + assertEquals(0.00, donFrtList.getX(0)); + assertEquals(10.00, donFrtList.getX(1)); + assertEquals(15.00, donFrtList.getY(0)); + assertEquals(15.00, donFrtList.getY(1)); + donFrtList = (DonFrtList) frts.get(2); + assertEquals(0.00, donFrtList.getX(0)); + assertEquals(10.00, donFrtList.getX(1)); + assertEquals(30.00, donFrtList.getY(0)); + assertEquals(30.00, donFrtList.getY(1)); - assertEquals(0.00, frts.get(2).getListePoints().get(0).getX()); - assertEquals(10.00, frts.get(2).getListePoints().get(1).getX()); - assertEquals(30.00, frts.get(2).getListePoints().get(0).getY()); - assertEquals(30.00, frts.get(2).getListePoints().get(1).getY()); - } public static List<DonFrt> readModele3() { @@ -103,7 +108,7 @@ testWrite(in, f); final CtuluAnalyze analyse = new CtuluAnalyze(); final List<DonFrt> jeuDonnees = Crue10FileFormatFactory.getDFRTFileFormat().read(f, analyse, null); - analyse.printResume(); + testAnalyser(analyse); testDonFrt(jeuDonnees); } @@ -111,8 +116,10 @@ private File testWrite(final List<DonFrt> in, final File f) { final CtuluAnalyze analyse = new CtuluAnalyze(); final boolean res = Crue10FileFormatFactory.getDFRTFileFormat().write(in, f, analyse); - analyse.printResume(); + testAnalyser(analyse); assertTrue(res); + assertTrue(Crue10FileFormatFactory.getDFRTFileFormat().isValide(f, analyse)); + testAnalyser(analyse); return f; } Deleted: trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dfrt.new.xml =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dfrt.new.xml 2009-05-10 17:33:18 UTC (rev 4749) +++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dfrt.new.xml 2009-05-10 17:34:42 UTC (rev 4750) @@ -1,111 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<DFRT 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/dfrt-1.0.xsd"> - <!-- Le fichier DFRT décrit les frottements d'un modèle CrueX. Son périmètre est le sous-modèle --> - <Commentaire>Commentaire sur le sous-modèle</Commentaire> - <StriRefC Nom="FK0">0.</StriRefC> - <StriRefZ Nom="FPROF1MAJ"> - <!-- Point Flottant-Flottant --> - <PointFF>0.00 15.</PointFF> - <PointFF>10.00 15.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF1MIN"> - <PointFF>0.00 30.</PointFF> - <PointFF>10.00 30.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF2MAJ"> - <PointFF>0.00 15.</PointFF> - <PointFF>10.00 15.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF2MIN"> - <PointFF>0.00 30.</PointFF> - <PointFF>10.00 30.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF3AMAJ"> - <PointFF>0.00 15.</PointFF> - <PointFF>10.00 15.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF3AMIN"> - <PointFF>0.00 30.</PointFF> - <PointFF>10.00 30.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF3AVMAJ"> - <PointFF>0.00 15.</PointFF> - <PointFF>10.00 15.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF3AVMIN"> - <PointFF>0.00 30.</PointFF> - <PointFF>10.00 30.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF3BMAJ"> - <PointFF>0.00 15.</PointFF> - <PointFF>10.00 15.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF3BMIN"> - <PointFF>0.00 30.</PointFF> - <PointFF>10.00 30.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF4MAJ"> - <PointFF>0.00 15.</PointFF> - <PointFF>10.00 15.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF4MIN"> - <PointFF>0.00 30.</PointFF> - <PointFF>10.00 30.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF6AMAJ"> - <PointFF>0.00 15.</PointFF> - <PointFF>10.00 15.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF6AMIN"> - <PointFF>0.00 30.</PointFF> - <PointFF>10.00 30.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF7MAJ"> - <PointFF>0.00 15.</PointFF> - <PointFF>10.00 15.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF7MIN"> - <PointFF>0.00 30.</PointFF> - <PointFF>10.00 30.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF8MAJ"> - <PointFF>0.00 15.</PointFF> - <PointFF>10.00 15.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF8MIN"> - <PointFF>0.00 30.</PointFF> - <PointFF>10.00 30.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF9MAJ"> - <PointFF>0.00 15.</PointFF> - <PointFF>10.00 15.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF9MIN"> - <PointFF>0.00 30.</PointFF> - <PointFF>10.00 30.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF10MAJ"> - <PointFF>0.00 15.</PointFF> - <PointFF>10.00 15.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF10MIN"> - <PointFF>0.00 30.</PointFF> - <PointFF>10.00 30.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF11MAJ"> - <PointFF>0.00 15.</PointFF> - <PointFF>10.00 15.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROF11MIN"> - <PointFF>0.00 30.</PointFF> - <PointFF>11.00 30.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROFSTR1MIN"> - <PointFF>0.00 30.</PointFF> - <PointFF>11.00 30.</PointFF> - </StriRefZ> - <StriRefZ Nom="FPROFSTR2MIN"> - <PointFF>0.00 30.</PointFF> - <PointFF>11.00 30.</PointFF> - </StriRefZ> -</DFRT> \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dfrt.xml =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dfrt.xml 2009-05-10 17:33:18 UTC (rev 4749) +++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dfrt.xml 2009-05-10 17:34:42 UTC (rev 4750) @@ -2,7 +2,7 @@ <DFRT 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/dfrt-1.0.xsd"> <!-- Le fichier DFRT décrit les frottements d'un modèle CrueX. Son périmètre est le sous-modèle --> <Commentaire>Commentaire sur le sous-modèle</Commentaire> - <StriRefC Nom="FK0">0.</StriRefC> + <StriRefC Nom="FK0"><k>0.</k></StriRefC> <StriRefZ Nom="FPROF1MAJ"> <!-- Point Flottant-Flottant --> <PointFF>0.00 15.</PointFF> Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/EMHGeneralBuilder.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/EMHGeneralBuilder.java 2009-05-10 17:33:18 UTC (rev 4749) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/EMHGeneralBuilder.java 2009-05-10 17:34:42 UTC (rev 4750) @@ -1,6 +1,6 @@ package org.fudaa.fudaa.crue.builder; -import org.fudaa.dodico.crue.metier.emh.CrueData; +import org.fudaa.dodico.crue.metier.CrueData; import org.fudaa.dodico.crue.metier.emh.EMH; import org.fudaa.dodico.crue.metier.emh.InfosEMH; import org.fudaa.dodico.crue.metier.emh.RelationEMH; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2009-05-15 14:12:43
|
Revision: 4780 http://fudaa.svn.sourceforge.net/fudaa/?rev=4780&view=rev Author: hadouxad Date: 2009-05-15 14:12:41 +0000 (Fri, 15 May 2009) Log Message: ----------- * Algo de validation du graphe: package org.fudaa.dodico.crue.validation o mise en code de l'algo de parcours en profondeur pour les noeuds, puis pour les branches * Correction crue 9 DC o ajout de l'algo de gestion des profils interpoles (cf ci dessous). * gestion des erreurs pour la carte strirefH * probl?\195?\169matique pour la deuxi?\195?\168me mod?\195?\169lisation: foutre des profils interpol?\195?\169s entre les profils classiques pour les branches,comme les distances inter-profils ne sont pas indiqu?\195?\169es pour les profils interpol?\195?\169s, on ne peut pas savoir au niveau de la lecture des branches si le profil est interpol?\195?\169 ou non, il faudra attendre d'avoir lu les profils pour savoir lesquels le sont. * pour la deuxieme mod?\195?\169lisation, les distmax, il faut ajouter les profils interpol?\195?\169s entre chaque profils toutes les distmax distances. cela est moins probl?\195?\169matique. Algorithmiquement, voila comment je m'en sors: pour la deuxieme mod?\195?\169lisation: je cr?\195?\169e des section profils, et je rectifis lorsque je tomberais sur les cartes PROFINT dans la partie profil, je saurais que ces profils doivent etres modifies en section interpoles (j'avais fait pareil pour idem) pourla premiere modelisation: apres remplissage des sections de la branche st venant: pour chaque relationEmh contenant une section I si la distmax<|section(I).xpos - section(I+1).xpos| alors: nbSectionToAdd= (partie inferieur)|section(I).xpos - section(I+1).xpos|/distmax pour k de 0 a nbSectionToAdd-1 creer section interpolee de nom: S+NomBranche+_+(k *distmax +section(I).xpos ) et de xpos =(k *distmax +section(I).xpos ) ajouter relation avec sectionInterpol?\195?\169?\195?\169 a la position (I+k+1) Modified Paths: -------------- 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/metier/emh/EMH.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/EMHValidatorModele.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueValidationModele.java 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-05-14 17:44:06 UTC (rev 4779) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-05-15 14:12:41 UTC (rev 4780) @@ -12,7 +12,56 @@ import org.fudaa.dodico.crue.io.dao.DonPrtCIniCasierProfil; import org.fudaa.dodico.crue.metier.CrueData; import org.fudaa.dodico.crue.metier.CrueDataImpl; -import org.fudaa.dodico.crue.metier.emh.*; +import org.fudaa.dodico.crue.metier.emh.CatEMHBranche; +import org.fudaa.dodico.crue.metier.emh.CatEMHCasier; +import org.fudaa.dodico.crue.metier.emh.CatEMHNoeud; +import org.fudaa.dodico.crue.metier.emh.CatEMHSection; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrt; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheBarrageFilEau; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheBarrageGenerique; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheNiveauxAssocies; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheOrifice; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBranchePDC; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSaintVenant; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSeuilLateral; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSeuilTransversal; +import org.fudaa.dodico.crue.metier.emh.DonFrt; +import org.fudaa.dodico.crue.metier.emh.DonPrtGeoBrancheSaintVenant; +import org.fudaa.dodico.crue.metier.emh.DonPrtGeoProfilCasier; +import org.fudaa.dodico.crue.metier.emh.DonPrtGeoProfilSection; +import org.fudaa.dodico.crue.metier.emh.DonPrtGeoSectionIdem; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheBarrageFilEau; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheBarrageGenerique; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheNiveauxAssocies; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheOrifice; +import org.fudaa.dodico.crue.metier.emh.EMHBranchePdc; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheSaintVenant; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheSeuilLateral; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheSeuilTransversal; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheStrickler; +import org.fudaa.dodico.crue.metier.emh.EMHCasierProfil; +import org.fudaa.dodico.crue.metier.emh.EMHNoeudNiveauContinu; +import org.fudaa.dodico.crue.metier.emh.EMHSectionIdem; +import org.fudaa.dodico.crue.metier.emh.EMHSectionInterpolee; +import org.fudaa.dodico.crue.metier.emh.EMHSectionProfil; +import org.fudaa.dodico.crue.metier.emh.ElemOrifice; +import org.fudaa.dodico.crue.metier.emh.ElemSeuil; +import org.fudaa.dodico.crue.metier.emh.ElemSeuilAvecPdc; +import org.fudaa.dodico.crue.metier.emh.EvolutionFF; +import org.fudaa.dodico.crue.metier.emh.LitNomme; +import org.fudaa.dodico.crue.metier.emh.LitNumerote; +import org.fudaa.dodico.crue.metier.emh.LitUtile; +import org.fudaa.dodico.crue.metier.emh.LoiFF; +import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; +import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase; +import org.fudaa.dodico.crue.metier.emh.PtEvolutionFF; +import org.fudaa.dodico.crue.metier.emh.PtProfil; +import org.fudaa.dodico.crue.metier.emh.PtZK; +import org.fudaa.dodico.crue.metier.emh.Regle; +import org.fudaa.dodico.crue.metier.emh.RelationEMH; +import org.fudaa.dodico.crue.metier.emh.StriRefC; +import org.fudaa.dodico.crue.metier.emh.StriRefZ; +import org.fudaa.dodico.crue.metier.emh.VariableOrdonnee; import org.fudaa.dodico.crue.metier.helper.EMHBrancheHelper; import org.fudaa.dodico.crue.metier.helper.EMHHelper; import org.fudaa.dodico.crue.metier.helper.EMHNoeudHelper; @@ -325,9 +374,29 @@ lireSuite(); } else if (element.toUpperCase().equals(CrueIODico.PROFINT)) { - // TODO A FAIRE APRES RETOURS CNR + final String nomProfil = in_.stringField(1); sectionCree = createSectionProfilClassique(metier, nomProfil); + + // -- il faut transformer cette section en interpole: on le fait maintenant car dans la methode cela ne change + // rien + // car c'est au niveau de la branche que l'on cree les sections. + + final EMHSectionInterpolee newSection = new EMHSectionInterpolee(sectionCree.getNom()); + + EMHBrancheHelper.replaceSectioninAllConnectedBranche(sectionCree, newSection, metier.getBranches()); + metier.getSections().remove(sectionCree); + + // -- on remplace les relations et les infos emh --// + if (sectionCree.getListeInfosEMH() != null) { + newSection.setListeInfosEMH(sectionCree.getListeInfosEMH()); + } + if (sectionCree.getRelationsAvecEMH() != null) { + newSection.setRelationsAvecEMH(sectionCree.getRelationsAvecEMH()); + } + + metier.add(newSection); + } else if (element.toUpperCase().equals(CrueIODico.PROFRECT)) { // TODO pour FICHIER DEXP non présent dans V0 // final String nomProfil = in_.stringField(1); @@ -437,6 +506,7 @@ final String nomProfil = id; sectionProfil = EMHSectionHelper.findByReference(nomProfil, metier); if (sectionProfil == null) { + sectionProfil = new EMHSectionProfil(nomProfil); metier.add(sectionProfil); } @@ -674,7 +744,7 @@ * @param metier * @throws IOException */ - public void readFrottements(final CrueData metier) throws IOException { + public void readFrottements(final CrueData metier) throws CrueNotSupportedException, IOException { metier.setFrottements(new ArrayList<DonFrt>()); while (CrueIODico.appartientFrottementsCarte(in_.getLine())) { @@ -692,16 +762,18 @@ } else if (element.toUpperCase().equals(CrueIODico.STRIREFH)) { // STRIREFH(o) "nom_strickler" h1 k1 h2 k2... (nom du strickler, et couples h/k, h étant la hauteur par rapport // au point le plus bas du profil) - final String nomFrot = in_.stringField(1); - final StrRefY frt = new StrRefY(nomFrot); - frt.setPtZY(new ArrayList<PtZY>()); - for (int i = 2; i < in_.getNumberOfFields(); i++) { - final double valX = in_.doubleField(i++); - final double valY = in_.doubleField(i); - frt.addPtZY(new PtZY(valX, valY)); + // final String nomFrot = in_.stringField(1); + // final StrRefY frt = new StrRefY(nomFrot); + // frt.setPtZY(new ArrayList<PtZY>()); + // for (int i = 2; i < in_.getNumberOfFields(); i++) { + // final double valX = in_.doubleField(i++); + // final double valY = in_.doubleField(i); + // frt.addPtZY(new PtZY(valX, valY)); + // + // } + // metier.getFrottements().add(frt); - } - metier.getFrottements().add(frt); + throw new CrueNotSupportedException(CrueIODico.STRIREFH, in_.getLineNumber()); } else if (element.toUpperCase().equals(CrueIODico.STRIREFZ)) { // STRIREFH(o) "nom_strickler" h1 k1 h2 k2... (nom du strickler, et couples h/k, h étant la hauteur par rapport @@ -1031,6 +1103,7 @@ // -- la donnée DPTG de st venant --// DonPrtGeoBrancheSaintVenant dataDPTG = null; String nomSectionPilote = null; + double distMAX = 0; // -- la liste des sections branches --// final List<List<CatEMHSection>> listeSectionBranche = new ArrayList<List<CatEMHSection>>(); // -- tant qu'on est pas arrivé à une autre branche ou une autre definition, on lit les infos de la branche --// @@ -1069,6 +1142,8 @@ if (typeLigne.toUpperCase().equals(CrueIODico.BRANCHE_DISTMAX)) { // TODO: DISTMAX a gerer , demander CNR, le dico dit abandonné dans crue 10...--// + distMAX = in_.doubleField(1); + } else // -- coefficients cconv --// if (typeLigne.toUpperCase().equals(CrueIODico.BRANCHE_CCONV)) { @@ -1131,8 +1206,6 @@ errorCarteNotRecognized(typeLigne); } - // TODO Carole gérer les parametres suivants .... - // -- on lit la suite en passant les commentaires sans mot clef --// lireSuite(); lineRead = in_.getLine(); @@ -1142,6 +1215,10 @@ completeBrancheWithInfosRead(metier, branche, dataDCSP, listeDistance, listeCconv, listeCpond, listeCdiv, listeSectionBranche); + if (distMAX != 0) { + completeSaintVenantWithDistMAx(branche, distMAX, metier); + } + if (nomSectionPilote != null) { CatEMHSection pilote = EMHSectionHelper.findByReference(nomSectionPilote, metier); if (pilote == null) { @@ -1155,6 +1232,81 @@ } /** + * Cas particulier de Branche st venant: pour la valeur DISTMAX: DISTMAX(f, u) distmax (Distance max entre 2 profils. + * Crée les profils interpolés nécessaires) Cette valeur distmax indique la distance max entre chaque profil, donc si + * cette distance n'est pas respectee, il faut ajouter des profil interpoles avec pour nom: + * S+NomBranche+_+distanceParcourue. + * + * @param branche + */ + public void completeSaintVenantWithDistMAx(EMHBrancheSaintVenant branche, double distmax, CrueData data) { + + for (int i = 0; i < branche.getRelationsAvecEMH().size(); i++) { + + RelationEMH relation1 = branche.getRelationsAvecEMH().get(i); + + // -- si la relation concerne les sections --// + if (relation1.getEmh() instanceof CatEMHSection) { + RelationEMH relation2 = null; + // -- on recherche la prochaine relation --// + for (int j = i + 1; j < branche.getRelationsAvecEMH().size() && relation2 == null; j++) { + if (branche.getRelationsAvecEMH().get(j).getEmh() instanceof CatEMHSection) { + relation2 = branche.getRelationsAvecEMH().get(j); + } + } + + if (relation2 == null) { return; } + + double xpos1 = EMHHelper.getXpSection(relation1); + double xpos2 = EMHHelper.getXpSection(relation2); + + if (distmax < Math.abs(xpos1 - xpos2)) { + + // -- il faut ajouter des profils interpolées --// + + // -- etape 1: on compte combien on en ajoute --// + int nbProfilsToAdd = (int) Math.floor(Math.abs(xpos1 - xpos2) / distmax) - 1; + + // -- on creer une section interpolee pour chaque besoin et on l'ajoute dans cruedata puis dans les relations + // branche --//. + for (int k = 0; k < nbProfilsToAdd; k++) { + double xpos = xpos1 + (k + 1) * distmax; + String nom = "S" + branche.getNom() + "_" + xpos; + EMHSectionInterpolee interpol = new EMHSectionInterpolee(nom); + + interpol.setNom(nom); + + double coefPond = 1; + double coefConv = 1; + double coefDiv = 1; + final HashMap<String, Object> map = new HashMap<String, Object>(); + map.put(EMHHelper.Pos_section, "Interne"); + map.put(EMHHelper.Xp_section, xpos); + map.put(EMHHelper.Coeff_Pond, coefPond); + map.put(EMHHelper.Coeff_Div, coefDiv); + map.put(EMHHelper.Coeff_Conv, coefConv); + + RelationEMH relation = new RelationEMH(interpol, map); + // -- ajout dans metier --// + data.add(interpol); + + // -- ajout de la relation a l'emplacement k+1 a partir de i--// + branche.getRelationsAvecEMH().add((i + k + 1), relation); + + } + + // -- on translate i de k+1 itérations pour revenir a l'indice de la relation2 --// + i += nbProfilsToAdd; + // ATTENTION, le k+1 ici est indirect, car le +1 sera ajouté par la boucle for. + } + + } + + } + + } + + /** * Creer une branche seuil transversal. 2 * * @param metier @@ -1941,11 +2093,15 @@ // -- en fonction des parametres lus, ajoute les bonnes relations EMH --// // -- DISTANCE --// - if (listeTotaleDistance.size() == 1) { + if (indiceSection == 0) { + // on laisse le xpos a 0: donc sumDistanceTotaleXP ne doit pas etre additionne. + } else if (listeTotaleDistance.size() == 1) { sumDistanceTotaleXP += listeTotaleDistance.get(0); - } else if (listeTotaleDistance.size() > indiceSection) { - sumDistanceTotaleXP += listeTotaleDistance.get(indiceSection); + } else if (listeTotaleDistance.size() > indiceSection - 1) { + // -- la liste des distantce est inter-profil avec le premier profil a distance=0. + // donc on commence a positionner la deuxieme section a la position indiceSection-1. + sumDistanceTotaleXP += listeTotaleDistance.get(indiceSection - 1); } // -- cconv --// 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-05-14 17:44:06 UTC (rev 4779) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java 2009-05-15 14:12:41 UTC (rev 4780) @@ -10,7 +10,50 @@ import org.fudaa.dodico.crue.io.dao.CrueHelper; import org.fudaa.dodico.crue.io.dao.DonPrtCIniCasierProfil; import org.fudaa.dodico.crue.metier.CrueData; -import org.fudaa.dodico.crue.metier.emh.*; +import org.fudaa.dodico.crue.metier.emh.CatEMHBranche; +import org.fudaa.dodico.crue.metier.emh.CatEMHCasier; +import org.fudaa.dodico.crue.metier.emh.CatEMHNoeud; +import org.fudaa.dodico.crue.metier.emh.CatEMHSection; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrt; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheBarrageFilEau; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheBarrageGenerique; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheNiveauxAssocies; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheOrifice; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBranchePDC; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSaintVenant; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSeuilLateral; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSeuilTransversal; +import org.fudaa.dodico.crue.metier.emh.DonFrt; +import org.fudaa.dodico.crue.metier.emh.DonFrtList; +import org.fudaa.dodico.crue.metier.emh.DonPrtCIni; +import org.fudaa.dodico.crue.metier.emh.DonPrtGeo; +import org.fudaa.dodico.crue.metier.emh.DonPrtGeoBrancheSaintVenant; +import org.fudaa.dodico.crue.metier.emh.DonPrtGeoProfilCasier; +import org.fudaa.dodico.crue.metier.emh.DonPrtGeoProfilSection; +import org.fudaa.dodico.crue.metier.emh.DonPrtGeoSectionIdem; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheBarrageFilEau; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheBarrageGenerique; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheNiveauxAssocies; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheOrifice; +import org.fudaa.dodico.crue.metier.emh.EMHBranchePdc; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheSaintVenant; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheSeuilLateral; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheSeuilTransversal; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheStrickler; +import org.fudaa.dodico.crue.metier.emh.EMHSectionIdem; +import org.fudaa.dodico.crue.metier.emh.EMHSectionInterpolee; +import org.fudaa.dodico.crue.metier.emh.EMHSectionProfil; +import org.fudaa.dodico.crue.metier.emh.ElemOrifice; +import org.fudaa.dodico.crue.metier.emh.ElemSeuilAvecPdc; +import org.fudaa.dodico.crue.metier.emh.LitNumerote; +import org.fudaa.dodico.crue.metier.emh.LitUtile; +import org.fudaa.dodico.crue.metier.emh.PtEvolutionFF; +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.StrRefY; +import org.fudaa.dodico.crue.metier.emh.StriRefC; +import org.fudaa.dodico.crue.metier.emh.StriRefZ; import org.fudaa.dodico.crue.metier.helper.EMHHelper; import org.fudaa.dodico.crue.metier.helper.RegleHelper; @@ -350,8 +393,8 @@ for (final CatEMHSection section : metier.getSections()) { - if (section instanceof EMHSectionProfil) { - final EMHSectionProfil profil = (EMHSectionProfil) section; + if (section instanceof EMHSectionProfil || section instanceof EMHSectionInterpolee) { + final CatEMHSection profil = section; fortranWriter_.stringField(0, CrueIODico.PROFIL); fortranWriter_.stringField(1, profil.getNom()); Modified: 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/EMH.java 2009-05-14 17:44:06 UTC (rev 4779) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMH.java 2009-05-15 14:12:41 UTC (rev 4780) @@ -91,7 +91,7 @@ } /** - * Ajoute une infos (DSCP) + * Ajoute une infos (DCSP) * * @param dataCalcul */ Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/EMHValidatorModele.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/EMHValidatorModele.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/EMHValidatorModele.java 2009-05-15 14:12:41 UTC (rev 4780) @@ -0,0 +1,264 @@ +package org.fudaa.dodico.crue.validation; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.metier.CrueData; +import org.fudaa.dodico.crue.metier.emh.CatEMHBranche; +import org.fudaa.dodico.crue.metier.emh.CatEMHNoeud; + +/** + * Algorithmes de validations du modele. + * + * @author Adrien Hadoux + */ +public class EMHValidatorModele { + + /** + * Methode qui teste la connexité du modele et retourne true ou false, + * + * @param data + * @param analyzer analyzer + * @return + */ + public static boolean validateConnexite(CrueData data, CtuluAnalyze analyzer) { + boolean validate = false; + + // -- premeire verification: tous les noeuds sont affectées --// + validate = IsNoeudsTousAffectes(data, analyzer); + + if (validate) { + + // -- on verifie que toutes les branches ont un noeud --//. + validate = IsBranchesConnexes(data, analyzer); + } + + return validate; + } + + /** + * Verifie que toutes les branches soient affectees. + * + * @param data + * @param analyzer + * @return true si le graphe est connexe. + */ + public static boolean IsBranchesConnexes(CrueData data, CtuluAnalyze analyzer) { + + List<CatEMHNoeud> lstNoeudsATester = new ArrayList<CatEMHNoeud>(1); + + List<CatEMHBranche> lstBranchesRestantes = remplirBranchesRestantesActives(data.getBranches()); + + // 1) Choisir un nœud de départ connecté à au moins une branche active. Il est stocké dans lstNoeudsATester. + CatEMHNoeud findNoeudDep = findNoeudDepart(data); + + if (findNoeudDep == null) { return false; } + lstNoeudsATester.add(findNoeudDep); + + // 2) Tant qu’il existe au moins un élément dans lstNoeudsATester : + while (lstNoeudsATester.size() > 0) { + // 2.1) Dépiler un élément de lstNoeudsATester (le supprimer de la liste) et le stocker dans NoeudCourant. + CatEMHNoeud noeudCourant = lstNoeudsATester.remove(0); + + // 2.2) Tant qu’il existe une branche connectée à NoeudCourant et qui figure dans lstBranchesRestantes : + List<CatEMHBranche> lstBranchesContenantNoeud = findAllBranchesConnectedToNode(lstBranchesRestantes, noeudCourant); + + while (lstBranchesContenantNoeud.size() > 0) { + // 2.2.1) Récupérer une telle branche et la stocker dans BrancheCourante. + CatEMHBranche brancheCourante = lstBranchesContenantNoeud.remove(0); + + // 2.2.2) Récupérer le nœud situé à l’autre extrémité de BrancheCourante (par rapport à NoeudCourant) et le + // stocker + // dans lstNoeudsATester (s’il n’y figure pas déjà). + CatEMHNoeud nouveauNoeud = brancheCourante.getNoeudAmont(); + if (nouveauNoeud != noeudCourant) { + lstNoeudsATester.add(nouveauNoeud); + } else { + nouveauNoeud = brancheCourante.getNoeudAval(); + lstNoeudsATester.add(nouveauNoeud); + } + + // 2.2.3) Supprimer BrancheCourante de lstBranchesRestantes. + lstBranchesRestantes.remove(brancheCourante); + + } + + } + + if (lstBranchesRestantes.size() > 0) { + analyzer.addError("error.validationModele.branchesNonAffectes", + createMapBranchesNonAffectes(lstBranchesRestantes)); + return false; + } + + return true; + } + + /** + * Cree la liste de branches Active a partir de la liste de branches totales. + * + * @param lstBranchesTotales + * @return + */ + public static List<CatEMHBranche> remplirBranchesRestantesActives(List<CatEMHBranche> lstBranchesTotales) { + List<CatEMHBranche> listeBranches = new ArrayList<CatEMHBranche>(); + + for (CatEMHBranche branche : lstBranchesTotales) { + if (branche.isActive()) { + listeBranches.add(branche); + } + } + return listeBranches; + + } + + /** + * Retrouve toutes les branches connectees au noeud. + * + * @param lstBranchesRestantes + * @param noeud + * @return + */ + public static List<CatEMHBranche> findAllBranchesConnectedToNode(List<CatEMHBranche> lstBranchesRestantes, + CatEMHNoeud noeud) { + List<CatEMHBranche> listeConnected = new ArrayList<CatEMHBranche>(); + + for (CatEMHBranche branche : lstBranchesRestantes) { + if (branche.isActive()) { + CatEMHNoeud noeudAmont = branche.getNoeudAmont(); + if (noeudAmont == noeud) { + + listeConnected.add(branche); + + } else { + CatEMHNoeud noeudAval = branche.getNoeudAval(); + if (noeudAval == noeud) { + + listeConnected.add(branche); + + } + } + } + } + + return listeConnected; + } + + /** + * Methode qui recherche dans la liste des branches le premier noeud d'une branche active. + * + * @param data + * @return + */ + public static CatEMHNoeud findNoeudDepart(CrueData data) { + + for (int i = 0; i < data.getBranches().size(); i++) { + if (data.getBranches().get(i).isActive()) { + + CatEMHNoeud findNoeudDep = data.getBranches().get(i).getNoeudAmont(); + if (findNoeudDep != null) { return findNoeudDep; } + findNoeudDep = data.getBranches().get(i).getNoeudAval(); + if (findNoeudDep != null) { return findNoeudDep; } + + } + + } + return null; + } + + /** + * Verifie que tous les noeuds soient affectés a au moins une branche. + * + * @param data + * @param analyzer + * @return + */ + public static boolean IsNoeudsTousAffectes(CrueData data, CtuluAnalyze analyzer) { + + List<CatEMHNoeud> listeNoeudsNonAffectes = new ArrayList<CatEMHNoeud>(data.getNoeuds().size()); + + // pourri collections... + // Collections.copy(listeNoeudsNonAffectes, data.getNoeuds()); + + for (CatEMHNoeud node : data.getNoeuds()) { + listeNoeudsNonAffectes.add(node); + } + + for (CatEMHBranche branche : data.getBranches()) { + if (branche.isActive()) { + CatEMHNoeud noeudAmont = branche.getNoeudAmont(); + if (noeudAmont != null) { + + listeNoeudsNonAffectes.remove(noeudAmont); + + } else { + HashMap<String, Object> map = new HashMap<String, Object>(); + map.put("branche", branche.getNom()); + analyzer.addError("error.validationModele.noeudAmontManquant", map); + return false; + } + CatEMHNoeud noeudAval = branche.getNoeudAval(); + if (noeudAval != null) { + + listeNoeudsNonAffectes.remove(noeudAval); + + } else { + HashMap<String, Object> map = new HashMap<String, Object>(); + map.put("branche", branche.getNom()); + analyzer.addError("error.validationModele.noeudAvalManquant", map); + return false; + } + } + } + if (listeNoeudsNonAffectes.size() != 0) { + analyzer.addError("error.validationModele.noeudNonAffectes", createMapNoeudsNonAffectes(listeNoeudsNonAffectes)); + } + + return listeNoeudsNonAffectes.size() == 0; + } + + /** + * Creer la map avec la liste des noeuds non affectes. + * + * @param listeNoeudsNonAffectes + * @return + */ + public static Map<String, Object> createMapNoeudsNonAffectes(List<CatEMHNoeud> listeNoeudsNonAffectes) { + String key = "noeuds"; + + String liste = ""; + + for (CatEMHNoeud noeud : listeNoeudsNonAffectes) { + liste += " " + noeud.getNom(); + } + + HashMap<String, Object> map = new HashMap<String, Object>(); + map.put(key, liste); + return map; + + } + + /** + * Creer la map avec la liste des branches non affectes. + * + * @param listeBranchesNonAffectes + * @return + */ + public static Map<String, Object> createMapBranchesNonAffectes(List<CatEMHBranche> listeBranchesNonAffectes) { + String key = "branches"; + + String liste = ""; + + for (CatEMHBranche branche : listeBranchesNonAffectes) { + liste += " " + branche.getNom(); + } + + HashMap<String, Object> map = new HashMap<String, Object>(); + map.put(key, liste); + return map; + + } +} Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties 2009-05-14 17:44:06 UTC (rev 4779) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties 2009-05-15 14:12:41 UTC (rev 4780) @@ -1,3 +1,7 @@ #Mettre les traductions ici #Ne pas faire attention aux accents les laisser mais ne pas les traduire en UTF-8 -Test=Test \ No newline at end of file +Test=Test +error.validationModele.noeudNonAffectes = Erreur, il existe des noeuds isoles: {noeuds} +error.validationModele.noeudAmontManquant= Erreur, il manque un noeud amont pour la branche {branche} +error.validationModele.noeudAvalManquant= Erreur, il manque un noeud aval pour la branche {branche} + Added: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueValidationModele.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueValidationModele.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueValidationModele.java 2009-05-15 14:12:41 UTC (rev 4780) @@ -0,0 +1,73 @@ +package org.fudaa.dodico.crue.io; + +import junit.framework.TestCase; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.metier.CrueData; +import org.fudaa.dodico.crue.validation.EMHValidatorModele; + +/** + * Classe test de validation du modele. + * + * @author Adrien Hadoux + */ +public class TestCrueValidationModele extends TestCase { + /** + * constructeur lambda. + */ + public TestCrueValidationModele() { + + } + + /** + * @param path + */ + public void testCrueValidationModeleGENERIQUE(String path) { + CtuluAnalyze analyzer = new CtuluAnalyze(); + final CrueData data = Crue10FileFormatFactory.getDRSOFileFormat().read(path, analyzer, null); + // analyzer.printResume(); + + analyzer = new CtuluAnalyze(); + boolean res = EMHValidatorModele.validateConnexite(data, analyzer); + analyzer.printResume(); + + assertEquals(true, res); + } + + /** + * + */ + public void testCrueValidationModele3() { + testCrueValidationModeleGENERIQUE(TestCrueDRSOFile.FICHIER_TEST_MODELE3_DRSO_XML); + + } + + /** + * + */ + public void testCrueValidationModele3_1() { + testCrueValidationModeleGENERIQUE(TestCrueDRSOFile.FICHIER_TEST_MODELE3_1_DRSO_XML); + } + + /** + * + */ + public void testCrueValidationModele3_2() { + testCrueValidationModeleGENERIQUE(TestCrueDRSOFile.FICHIER_TEST_MODELE3_2_DRSO_XML); + } + + /** + * + */ + public void testCrueValidationModele4() { + testCrueValidationModeleGENERIQUE(TestCrueDRSOFile.FICHIER_TEST_MODELE4_DRSO_XML); + } + + /** + * + */ + public void testCrueValidationModele4_1() { + testCrueValidationModeleGENERIQUE(TestCrueDRSOFile.FICHIER_TEST_MODELE4_1_DRSO_XML); + } + +} Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-14 17:44:06 UTC (rev 4779) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-15 14:12:41 UTC (rev 4780) @@ -99,9 +99,7 @@ } if (project.getListeScenarios() != null) { - listeScenarios_ = CrueScenarioBuilder.buildListScenario(project.getListeScenarios()); - } // -- initialisation des encarts des listes de modeles --// @@ -164,9 +162,6 @@ menu.addMenuItem(FCrueResource.getS("Enregistrer scenario"), "ENREGISTRERSCENARIOS", FCrueResource.CRUE .getIcon("crystal_enregistrer.png"), this); - menu.addMenuItem(FCrueResource.getS("Gestion modèles"), "GESTIONMODELES", FCrueResource.CRUE - .getIcon("crystal_document.png"), this); - menu.addSeparator(FCrueResource.getS("Operations")); menu.addMenuItem(FCrueResource.getS("Comparaison"), "GESTIONCOMPARAISON", FCrueResource.CRUE .getIcon("crystal_controler.png"), this); @@ -183,7 +178,7 @@ * @return */ private BuMenu buildModeleMenu() { - BuMenu menu = new BuMenu(BuResource.BU.getString("Scénario"), "MENUMODELE"); + BuMenu menu = new BuMenu(BuResource.BU.getString("Modèles"), "MENUMODELE"); menu.addMenuItem(FCrueResource.getS("Gestion modèles"), "GESTIONMODELES", FCrueResource.CRUE .getIcon("crystal_document.png"), this); return menu; Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-05-14 17:44:06 UTC (rev 4779) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-05-15 14:12:41 UTC (rev 4780) @@ -30,7 +30,7 @@ final CrueErrorManager managerError; /** - * Les donnees crueData chargees. + * Les donnees crueData chargees du scenario courant. */ CrueData dataSources; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2009-05-18 16:18:51
|
Revision: 4786 http://fudaa.svn.sourceforge.net/fudaa/?rev=4786&view=rev Author: hadouxad Date: 2009-05-18 16:18:39 +0000 (Mon, 18 May 2009) Log Message: ----------- FCB Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheModeleFille.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleComparaisonScenario.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCbStructureInfos.java 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 2009-05-18 09:30:07 UTC (rev 4785) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java 2009-05-18 16:18:39 UTC (rev 4786) @@ -1,5 +1,7 @@ package org.fudaa.dodico.crue.io.neuf; +import gnu.trove.TLongArrayList; + import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -22,18 +24,15 @@ NativeNIOHelper helper_; FileInputStream in_; + File file_; - @Override - protected Object internalRead() { - - return readFile(); - } - /** - * Retourne la liste des indices des pas de temps * @return + * Retourne la liste des indices des pas de temps * + * + * @return */ public Object readFile() { - + FCbStructureInfos infos = new FCbStructureInfos(file_); final List data = new ArrayList(); helper_ = new NativeNIOHelper(in_.getChannel()); try { @@ -48,6 +47,9 @@ // iprm i4 : nombre de profils du modèle helper_.readAll(4); + ByteBuffer bf = helper_.getBuffer(); + infos.nbProfilsModele = bf.getInt(); + // past r8 : pas de temps d'impression des résultats, en secondes. helper_.readAll(8); // icodav i4 : présence (1) ou non (0) d'une régulation @@ -55,47 +57,33 @@ // ibmax i4 : nombre de branches du modèle helper_.readAll(4); - final ByteBuffer bf = helper_.getBuffer(); - final int nbBranches = bf.getInt(); + bf = helper_.getBuffer(); + infos.nbBranches = bf.getInt(); - // -- on passe a la ligne suivante --// + // -- on passe a la ligne contenant ibmax et iparam --// helper_.skipRecord(); - // on passe la ligne + // on arrive a la ligne des profils --// // write(ifi2) (tit(ipro),sngl(dist(ipro)),zfond(nuprfl(ipro)), ipro,ipro=1,iprm) + // on recupere l'indice du début des profils. + readProfils(infos); - helper_.skipRecord(); - // -- on passe la boucle de nbbranches lignes--// - // do 30 ib=1,ibmax - // write(ifi2) ntyp(ib),imax(ib),(n0pr(ip,ib),ip=1,imax(ib)), - // * nombr(ib),nupam(ib),nupav(ib) - // 30 continue - for (int i = 0; i < nbBranches; i++) { - helper_.skipRecord(); - } + readBranches(infos); + // -- ensuite on lit les points si ou ils sont affiches--// + readNodes(infos); + // TODO gere si oui ou non la ligne de write(9) npar,(nompar(i),tx(i),i=1,npar) // es t ecrite, cf spec pour entete + readRegulationParam(infos); - while (true) { - // -- on arrive au CORPS, on repere les indice de chaque PDT --// - data.add(helper_.getCurrentPosition()); + // -- on arrive au CORPS, on repere les indice de chaque PDT --// + readPdt(infos); - // --on passee les lignes de regul-- - // write(9) test,sngl(t) - // write(9) (para(i),i=1,npar) - helper_.skipRecord(); - helper_.skipRecord(); - // TODO continuer les skip des lignes de regul, il faut lire le npar et faire nfois + // --on passee les lignes de Crue--// - // --on passee les lignes de Crue--// - // TODO a faire - - // on sort quand on est en EOF. - } - } catch (final IOException e) { analyze_.manageException(e); } finally { @@ -112,19 +100,152 @@ } } - public void stop() { - // FIXME Auto-generated method stub + /** + * Lit les infos des noeuds si . + * + * @param infos + * @throws IOException + */ + private void readNodes(FCbStructureInfos infos) throws IOException { + // (ifi2) nbpoin,(nompoi(ip),nupro(ip),ip=1,nbpoin) + // nbpoin i4 : nombre de noeuds + helper_.readAll(4); + ByteBuffer bf = helper_.getBuffer(); + + infos.nbNoeuds = bf.getInt(); + + infos.indicePostionHelperForNoeuds = helper_.getCurrentPosition(); + for (int i = 0; i < infos.nbNoeuds; i++) { + helper_.skipRecord(); + } + } + /** + * Lit les infos des regulations si elles existent. + * + * @param infos + * @throws IOException + */ + private void readRegulationParam(FCbStructureInfos infos) throws IOException { + // write(9) npar,(nompar(i),tx(i),i=1,npar) + + // TODO a verifier: l'objectif ici est de tenter de lire la ligne, si elle existe il y a des regulations, + // WARNING sinon il n'y a pas de pas de temps regul. + + // npar i4 : nombre de paramètres de régulation + + helper_.readAll(4); + ByteBuffer bf = helper_.getBuffer(); + try { + infos.nbParamsRegulation = bf.getInt(); + } catch (Exception e) { + + return; + } + infos.hasRegulationRecords = true; + infos.tableauNomsParamRegulations = new String[infos.nbParamsRegulation]; + + for (int i = 0; i < infos.nbParamsRegulation; i++) { + helper_.readAll(8); + ByteBuffer buffer = helper_.getBuffer(); + + char[] nomChar = new char[8]; + for (int j = 0; j < 8; j++) { + nomChar[j] = buffer.getChar(); + } + infos.tableauNomsParamRegulations[i] = new String(nomChar); + + } + + infos.indicePostionHelperForRegulations = helper_.getCurrentPosition(); + + } + + /** + * lit les pdt. + * + * @param infos + * @throws IOException + */ + public void readPdt(FCbStructureInfos infos) throws IOException { + + infos.tableauIndicesPdtCrue = new TLongArrayList(); + infos.tableauIndicesPdtRegul = new TLongArrayList(); + + // -- on sort de la boucle au eof --// + while (true) { + // -- on lit les 2 param test et l'indice du pdt --// + // write(9) test,sngl(t) + + helper_.readAll(8); + ByteBuffer buffer = helper_.getBuffer(); + + char[] nomChar = new char[8]; + for (int j = 0; j < 8; j++) { + nomChar[j] = buffer.getChar(); + } + String type = new String(nomChar); + infos.nbTimesSteps++; + // test c4 : 'CRUE' ou 'REGU' suivant le cas + if (type.equals("REGU")) { + infos.nbTimesStepsRegulation++; + infos.tableauIndicesPdtRegul.add(helper_.getCurrentPosition()); + // pas de pdt pour crue + infos.tableauIndicesPdtCrue.add(-1); + } else { + infos.nbTimesStepsCrue++; + infos.tableauIndicesPdtCrue.add(helper_.getCurrentPosition()); + // pas de pdt pour regul + infos.tableauIndicesPdtRegul.add(-1); + } + + } + + } + + /** + * Lit les infos des branches + * + * @param infos + * @throws IOException + */ + private void readBranches(FCbStructureInfos infos) throws IOException { + // do 30 ib=1,ibmax + // write(ifi2) ntyp(ib),imax(ib),(n0pr(ip,ib),ip=1,imax(ib)), + // * nombr(ib),nupam(ib),nupav(ib) + // 30 continue + infos.indicePostionHelperForBranches = helper_.getCurrentPosition(); + for (int i = 0; i < infos.nbBranches; i++) { + helper_.skipRecord(); + } + } + + /** + * lecture profils write(ifi2) (tit(ipro),sngl(dist(ipro)),zfond(nuprfl(ipro)), ipro,ipro=1,iprm) + * + * @throws IOException + */ + private void readProfils(FCbStructureInfos infos) throws IOException { + + // on recupere l'indice du début des profils. + infos.indicePostionHelperForProfil = helper_.getCurrentPosition(); + for (int i = 0; i < infos.nbProfilsModele; i++) { + helper_.skipRecord(); + } + } + + public void stop() {} + @Override protected FortranInterface getFortranInterface() { - // FIXME Auto-generated method stub return FortranLib.getFortranInterface(in_); } @Override public void setFile(final File _f) { + file_ = _f; analyze_ = new CtuluAnalyze(); analyze_.setDesc(super.getOperationDescription(_f)); try { @@ -134,4 +255,9 @@ } } + + @Override + protected Object internalRead() { + return readFile(); + } } Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCbStructureInfos.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCbStructureInfos.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCbStructureInfos.java 2009-05-18 16:18:39 UTC (rev 4786) @@ -0,0 +1,414 @@ +package org.fudaa.dodico.crue.io.neuf; + +import gnu.trove.TLongArrayList; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.channels.FileChannel; + +/** + * Structure de données fcb construite à la volée avec les infos fcb qui vont bien. garde en memoire les indices des pas + * de temps, les noeuds utilises, les branches, l'indice de regulation, le nb de pas de temps crue et regulation. + * + * @author Adrien Hadoux + */ +public class FCbStructureInfos { + + /** + * le channel. + */ + FileChannel channel; + /** + * le fichier associé. + */ + final File file; + + /** + * nb de branches. + */ + int nbBranches = 0; + /** + * nb de profils du modele. + */ + int nbProfilsModele = 0; + /** + * nb de profils du modele. + */ + int nbNoeuds = 0; + + /** + * indique la position du reader pour le debut de lecture des profils. + */ + long indicePostionHelperForProfil = 0; + /** + * indique la position du reader pour le debut de lecture des branches. + */ + long indicePostionHelperForBranches = 0; + /** + * indique la position du reader pour le debut de lecture des noeuds. + */ + long indicePostionHelperForNoeuds = 0; + /** + * indique la position du reader pour le debut de lecture des nregulation + */ + long indicePostionHelperForRegulations = 0; + /** + * indique la position du reader pour le debut de lecture des crue pas de temps. + */ + long indicePostionHelperForCruePDT = 0; + + /** + * le nb de timesteps total + */ + int nbTimesSteps = 0; + + /** + * Nb de pas de temps Regulation, different de crue + */ + int nbTimesStepsRegulation = 0; + /** + * Nb de parametres de Regulation + */ + int nbParamsRegulation = 0; + /** + * Nb de pas de temps Crue, different de Regulation + */ + int nbTimesStepsCrue = 0; + + boolean hasRegulationRecords = false; + /** + * hasCrueRecords en principe toujours vrai. A confirmer. + */ + boolean hasCrueRecords = true; + + /** + * Noms des differents parametres intervenant dans la regul: longueur variable. + */ + String[] tableauNomsParamRegulations; + + /** + * indice des positions de chaque pdt de crue, longueur variable + */ + + TLongArrayList tableauIndicesPdtCrue; + /** + * indice des positions de chaque pdt de regulation + */ + TLongArrayList tableauIndicesPdtRegul; + + /** + * Constructeur de la structure d'accès rapide fcb. + * + * @param file + */ + public FCbStructureInfos(File file) { + + this.file = file; + } + + /** + * Retourne true si il existe des enregistrements sur la régulation. + * + * @return + */ + boolean hasRegulationRecords() { + return hasRegulationRecords; + } + + /** + * Retourne true si il existe des enregistrements sur la donnée crue. + * + * @return + */ + boolean hasCrueRecords() { + return hasCrueRecords; + } + + int getNbBranche() { + return nbBranches; + } + + int getNbTimeStepRegulation() { + return nbTimesStepsRegulation; + } + + int getNbTimeStepCrue() { + return nbTimesStepsCrue; + } + + /** + * Cree un chanel pour le placer sur l'indice de position voulu. + * + * @throws IOException + */ + private void createChannel() throws IOException { + if (channel == null) { + channel = new FileInputStream(file).getChannel(); + } + } + + /** + * Structure qui correspond a un enregistrement d'une branche. + * + * @author Adrien Hadoux + */ + public static class StructBranche { + int typeBranche; + int[] tableauIndiceProfils; + String nom; + int profilAmont; + int profilAval; + } + + /** + * @param capacity + * @return + */ + protected ByteBuffer createBuffer(int capacity) { + + ByteBuffer buffer = ByteBuffer.allocateDirect(capacity); + + return buffer; + } + + /** + * Recupere la ligne correspondante a la branche indiceBranche. Attention longueur variable a cause des profils... + * + * @param indiceBranche + * @return + * @throws IOException + */ + public synchronized StructBranche getValuesBranche(final int indiceBranche) throws IOException { + createChannel(); + if (!channel.isOpen()) { return null; } + + StructBranche structure = new StructBranche(); + + // -- position de la position voulue --// + long position = indicePostionHelperForBranches + indiceBranche; + + channel.position(position); + + // -- donnees de la forme --// + // write(ifi2) ntyp(ib),imax(ib),(n0pr(ip,ib),ip=1,imax(ib)), + // nombr(ib),nupam(ib),nupav(ib) + + // ntyp(NBR) i4 : type de la branche ib + ByteBuffer buffer = createBuffer(4); + channel.read(buffer); + structure.typeBranche = buffer.getInt(); + + // imax(NBR) i4 : nombre de profil dans la branche ib + buffer = createBuffer(4); + channel.read(buffer); + int nbProfils = buffer.getInt(); + structure.tableauIndiceProfils = new int[nbProfils]; + + // --n0pr(NPR,NBR) i2 : n° absolu du profil dont le n° est ip dans la branche ib --// + buffer = createBuffer(4 * nbProfils); + // -- on lit tous les num de profils d'un coup --// + channel.read(buffer); + + // -- on les copie dans un tableau d'indices --// + for (int i = 0; i < nbProfils; i++) { + + structure.tableauIndiceProfils[i] = buffer.getInt(); + } + + // nombr(NBR) c8 : nom de la branche n° ib + buffer = createBuffer(8); + channel.read(buffer); + char[] nomChar = new char[8]; + for (int i = 0; i < 8; i++) { + nomChar[i] = buffer.getChar(); + } + structure.nom = new String(nomChar); + + // nupam(NBR) i4 : n° du profil amont de la branche ib + buffer = createBuffer(4 * 2); + channel.read(buffer); + structure.profilAmont = buffer.getInt(); + + // nupav(NBR) i4 : n° du profil aval de la branche ib + structure.profilAval = buffer.getInt(); + + return structure; + + } + + /** + * Structure qui correspond a un enregistrement d'une profil. + * + * @author Adrien Hadoux + */ + public static class StructProfil { + + double[] distance; + double[] zfonds; + String nom; + + } + + /** + * Recupere la ligne correspondante a la profil indicePorfil. Attention longueur variable a cause des profils... + * + * @param indiceBranche + * @return + * @throws IOException + */ + public synchronized StructProfil getValuesProfils(final int indiceProfil) throws IOException { + createChannel(); + if (!channel.isOpen()) { return null; } + + StructProfil structure = new StructProfil(); + + // -- position de la position voulue --// + long position = indicePostionHelperForProfil + indiceProfil; + + channel.position(position); + + // write(ifi2) (tit(ipro),sngl(dist(ipro)),zfond(nuprfl(ipro)), ipro,ipro=1,iprm) + + // tit(NBPRO) c8 : noms des profils + ByteBuffer buffer = createBuffer(8); + channel.read(buffer); + char[] nomChar = new char[8]; + for (int i = 0; i < 8; i++) { + nomChar[i] = buffer.getChar(); + } + structure.nom = new String(nomChar); + + // dist(NBPRO) r4 : distance entre les profils ipro-1 et ipro. + // attention sngl transforme en reel donc 4 + + // zfond r4 : cote du fond du profil fluvial + + // on cree le buffer pour les zfond et dist pour iprm=nbProfils elements + buffer = createBuffer((4 + 4) * nbProfilsModele); + + structure.distance = new double[nbProfilsModele]; + structure.zfonds = new double[nbProfilsModele]; + + for (int i = 0; i < nbProfilsModele; i++) { + structure.distance[i] = buffer.getFloat(); + structure.zfonds[i] = buffer.getFloat(); + } + return structure; + } + + /** + * Structure qui correspond a un enregistrement d'une noeud. + * + * @author Adrien Hadoux + */ + public static class StructNoeuds { + + int[] numPro; + String[] noms; + + } + + /** + * Recupere la ligne correspondante a la noeuds indiceNoeud. Attention longueur variable a cause des profils... + * + * @param indiceBranche + * @return + * @throws IOException + */ + public synchronized StructNoeuds getValuesNoeuds(final int indiceProfil) throws IOException { + createChannel(); + if (!channel.isOpen()) { return null; } + + StructNoeuds structure = new StructNoeuds(); + + // -- position de la position voulue --// + long position = indicePostionHelperForNoeuds + indiceProfil; + + channel.position(position); + // write(ifi2) nbpoin,(nompoi(ip),nupro(ip),ip=1,nbpoin) + + structure.noms = new String[nbNoeuds]; + structure.numPro = new int[nbNoeuds]; + + for (int k = 0; k < nbNoeuds; k++) { + // nompar nom noeud sur 8 octets + ByteBuffer buffer = createBuffer(8); + channel.read(buffer); + char[] nomChar = new char[8]; + for (int i = 0; i < 8; i++) { + nomChar[i] = buffer.getChar(); + } + structure.noms[k] = new String(nomChar); + + // nupro(NBPMAX) i4 : n° d un des deux profils associes au noeud ip + + buffer = createBuffer(4); + channel.read(buffer); + structure.numPro[k] = buffer.getInt(); + } + + return structure; + } + + public static class StructRegulation { + + double[] numPro; + + double pdt; + } + + /** + * @param pdt + * @return + * @throws IOException + */ + public synchronized StructRegulation getValuesRegulation(final int pdt) throws IOException { + + createChannel(); + if (!channel.isOpen()) { return null; } + // on recupere la position de l'indice du pdt + long pos = tableauIndicesPdtRegul.get(pdt); + if (pos == -1) { return null; } + StructRegulation structure = new StructRegulation(); + channel.position(pos); + + // on est a la position du nom du pdt et les 2 valeurs en + a lire + // write(9) test,sngl(t) + // write(9) (para(i),i=1,npar) + + ByteBuffer buffer = createBuffer(4); + channel.read(buffer); + structure.pdt = buffer.getFloat(); + + // para(npar) r4 : paramètres de régulation + buffer = createBuffer(4 * nbParamsRegulation); + structure.numPro = new double[nbParamsRegulation]; + for (int i = 0; i < nbParamsRegulation; i++) { + structure.numPro[i] = buffer.getFloat(); + } + + return structure; + } + + /** + * @param pdt + * @return + * @throws IOException + */ + public synchronized double getValuesCRUE(final int pdt) throws IOException { + + createChannel(); + if (!channel.isOpen()) { return 0; } + // on recupere la position de l'indice du pdt + + long pos = tableauIndicesPdtCrue.get(pdt); + if (pos == -1) { return 0; } + channel.position(pos); + + // TODO Carole a terminer + + return 0; + } +} Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties 2009-05-18 09:30:07 UTC (rev 4785) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties 2009-05-18 16:18:39 UTC (rev 4786) @@ -4,4 +4,10 @@ error.validationModele.noeudNonAffectes = Erreur, il existe des noeuds isoles: {noeuds} error.validationModele.noeudAmontManquant= Erreur, il manque un noeud amont pour la branche {branche} error.validationModele.noeudAvalManquant= Erreur, il manque un noeud aval pour la branche {branche} - +error.scenario.empty= Il n'existe pas de sc\xE9nario courant ou de donn\xE9es EMH charg\xE9es... +ihm.error.modele.empty=Il n'existe pas de mod\xE8les pour le fichier etude charg\xE9 +ihm.error.comparaison.scenario1=Erreur, il faut au moins 2 sc\xE9narios disponibles dans l'\xE9tude. +ihm.error.comparaison.scenario2=Erreur, aucun sc\xE9nario 1 s\xE9lectionn\xE9 +ihm.error.comparaison.scenario3=Erreur, aucun sc\xE9nario 2 s\xE9lectionn\xE9 +ihm.error.comparaison.scenario4=Erreur, il faut s\xE9lectionner 2 sc\xE9narios diff\xE9rents. +ihm.error.sousmodele.empty=Pas de sous mod\xE8les d\xE9finis pour ce mod\xE8le Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-18 09:30:07 UTC (rev 4785) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-18 16:18:39 UTC (rev 4786) @@ -337,7 +337,7 @@ */ public void addEMHViewFille() { if (crueProjet_.getProject().getScenarioCourant() == null || crueProjet_.getDataSources() == null) { - message(FCrueResource.getS("Il n'existe pas de scénario courant ou de données EMH chargées...")); + message("error.scenario.empty"); return; } @@ -359,7 +359,7 @@ if (crueProjet_.getProject().getListeModeles() == null || crueProjet_.getProject().getListeModeles().getListeModeles() == null || crueProjet_.getProject().getListeModeles().getListeModeles().size() == 0) { - message(FCrueResource.getS("Il n'existe pas de modèles pour le fichier etude chargé")); + message(FCrueResource.getS("ihm.error.modele.empty")); return; } @@ -441,8 +441,7 @@ // this.addInternalFrame(inframe); } else if (action.equals("GESTIONCOMPARAISON")) { if (crueProjet_.getProject().getListeScenarios().size() < 2) { - crueProjet_.getImpl().error( - FCrueResource.getS("Erreur, il faut au moins 2 scénarios disponibles dans l'étude.")); + crueProjet_.getImpl().error(FCrueResource.getS("ihm.error.comparaison.scenario1")); } else { this.addInternalFrame(new CrueFilleComparaisonScenario(crueProjet_)); } Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheModeleFille.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheModeleFille.java 2009-05-18 09:30:07 UTC (rev 4785) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheModeleFille.java 2009-05-18 16:18:39 UTC (rev 4786) @@ -97,7 +97,7 @@ } else { listeSousModeles.setModel(new DefaultListModel()); revalidate(); - projet.getImpl().message(FCrueResource.getS("Pas de sous modèles définis pour ce modèle")); + projet.getImpl().message(FCrueResource.getS("ihm.error.sousmodele.empty")); } } Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleComparaisonScenario.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleComparaisonScenario.java 2009-05-18 09:30:07 UTC (rev 4785) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleComparaisonScenario.java 2009-05-18 16:18:39 UTC (rev 4786) @@ -92,13 +92,13 @@ EMHScenario scenario2 = getSelectedScenario(ListeFiles2); projet.getManagerError().clear(); if (scenario1 == null) { - projet.getImpl().error(FCrueResource.getS("Erreur, aucun scénario 1 sélectionné")); + projet.getImpl().error(FCrueResource.getS("ihm.error.comparaison.scenario2")); } else if (scenario2 == null) { - projet.getImpl().error(FCrueResource.getS("Erreur, aucun scénario 2 sélectionné")); + projet.getImpl().error(FCrueResource.getS("ihm.error.comparaison.scenario3")); } if (scenario1 == scenario2) { - projet.getImpl().error(FCrueResource.getS("Erreur, il faut sélectionner 2 scénarios différents.")); + projet.getImpl().error(FCrueResource.getS("ihm.error.comparaison.scenario4")); } // TODO Carole: continuer la comparaison de scenario. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2009-05-27 01:09:35
|
Revision: 4807 http://fudaa.svn.sourceforge.net/fudaa/?rev=4807&view=rev Author: deniger Date: 2009-05-27 01:09:20 +0000 (Wed, 27 May 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/.pmd trunk/soft/fudaa-crue/dodico/pmd.xml trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCSP.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDLHY.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOCAL.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructure.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCLM.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDFRT.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDLHY.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTG.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDRSO.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureETU.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOCAL.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTG.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureORES.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructurePCAL.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructurePNUM.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/SingleConverterPointFF.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Reader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/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/metier/CrueData.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPerm.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermBrancheOrificeManoeuvre.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermBrancheSaintVenantQruis.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermCasierProfilQruis.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermNoeudNiveauContinuQapp.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermNoeudNiveauContinuZimpose.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTrans.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransBrancheOrificeManoeuvre.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransBrancheSaintVenantQruis.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransCasierProfilQruis.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuLimnigramme.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuTarrage.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/DonCLimMScenario.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/DonCalcSansPrtBrancheBarrageFilEau.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheBarrageGenerique.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheNiveauxAssocies.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheOrifice.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSaintVenant.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilLateral.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilTransversal.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/EMHCasierProfil.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHSectionProfil.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ElemOrifice.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/LoiDF.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/LoiFF.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/EMHHelper.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/LoiHelper.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/EMHValidatorModele.java trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dclm-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dcsp-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/MockCrueData.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDCLMFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/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/TestCrueDLHYFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOCALFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueValidationModele.java trunk/soft/fudaa-crue/fudaa/.pmd trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/EMHGeneralBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java trunk/soft/fudaa-crue/src/main/config/pmd.xml Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/AbstractSingleConverter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/EnumsConverter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractCalc.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractCatEMHActivable.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCLimM.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCalcSansPrtBrancheQ.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCalcSansPrtBrancheSeuil.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractLoi.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermItem.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransItem.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuQapp.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCLimM.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBranchePdc.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumFormulePdc.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumInfosEMH.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumLoiExtrapol.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumMethodeInterpolation.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumPositionSection.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumSensOrifice.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumSensOuv.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumVariable.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumVerbosite.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/HelperInfosEMH.java Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AssociationScenarCalculPermanent.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuHydrogramme.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuRegulBarrage.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuRegulUsine.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuRegulUsineBarrage.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuRegulUsineBarrage2.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Calcul.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCLimMBrancheOrifice.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCLimMBrancheSaintVenant.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCLimMCasierProfil.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCLimMNoeudNiveauContinu.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBranchePDC.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtSection.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonClimM.java Modified: trunk/soft/fudaa-crue/.pmd =================================================================== --- trunk/soft/fudaa-crue/.pmd 2009-05-26 17:48:07 UTC (rev 4806) +++ trunk/soft/fudaa-crue/.pmd 2009-05-27 01:09:20 UTC (rev 4807) @@ -236,10 +236,6 @@ <ruleset>Controversial Rules</ruleset> </rule> <rule> - <name>DataflowAnomalyAnalysis</name> - <ruleset>Controversial Rules</ruleset> - </rule> - <rule> <name>AvoidUsingShortType</name> <ruleset>Controversial Rules</ruleset> </rule> Modified: trunk/soft/fudaa-crue/dodico/pmd.xml =================================================================== --- trunk/soft/fudaa-crue/dodico/pmd.xml 2009-05-26 17:48:07 UTC (rev 4806) +++ trunk/soft/fudaa-crue/dodico/pmd.xml 2009-05-27 01:09:20 UTC (rev 4807) @@ -243,6 +243,8 @@ <rule ref="rulesets/design.xml/EmptyMethodInAbstractClassShouldBeAbstract"/> <rule ref="rulesets/design.xml/SingularField"/> <rule ref="rulesets/design.xml/ReturnEmptyArrayRatherThanNull"/> - <rule ref="rulesets/design.xml/AbstractClassWithoutAnyMethod"/> + <rule ref="rulesets/design.xml/AbstractClassWithoutAnyMethod"> + <priority>4</priority> + </rule> <rule ref="rulesets/design.xml/TooFewBranchesForASwitchStatement"/> </ruleset> Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java 2009-05-26 17:48:07 UTC (rev 4806) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java 2009-05-27 01:09:20 UTC (rev 4807) @@ -162,6 +162,11 @@ addErrorFromFile(_m, _index); } + public void addFatalError(final String _m, final Object arg) { + // TODO a continuer + addError(_m); + } + /** * Initialise le champ "erreur fatale". Si une erreur fatale a deja ete initialisee, ne fait rien. * Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-05-26 17:48:07 UTC (rev 4806) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-05-27 01:09:20 UTC (rev 4807) @@ -22,8 +22,8 @@ new CrueXmlReaderWriterImpl<CrueDaoDFRT, List<DonFrt>>(CrueHelper.DFRT, new CrueConverterDFRT(), new CrueDaoStructureDFRT())); - private final static Crue10FileFormat<List<Loi>> DLHY = new Crue10FileFormat<List<Loi>>( - new CrueXmlReaderWriterImpl<CrueDaoDLHY, List<Loi>>(CrueHelper.DLHY, new CrueConverterDLHY(), + private final static Crue10FileFormat<List<AbstractLoi>> DLHY = new Crue10FileFormat<List<AbstractLoi>>( + new CrueXmlReaderWriterImpl<CrueDaoDLHY, List<AbstractLoi>>(CrueHelper.DLHY, new CrueConverterDLHY(), new CrueDaoStructureDLHY())); private final static Crue10FileFormat<CrueData> DPTG = new Crue10FileFormat<CrueData>( @@ -89,7 +89,7 @@ /** * @return DLHY : objet CrueFileFormat qui contient le DAO et le métier de DLHY */ - public static Crue10FileFormat<List<Loi>> getDLHYFileFormat() { + public static Crue10FileFormat<List<AbstractLoi>> getDLHYFileFormat() { return DLHY; } Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/AbstractSingleConverter.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/AbstractSingleConverter.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/AbstractSingleConverter.java 2009-05-27 01:09:20 UTC (rev 4807) @@ -0,0 +1,51 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.io.common; + +import com.thoughtworks.xstream.converters.SingleValueConverter; + +import org.fudaa.ctulu.CtuluAnalyze; + +/** + * @author deniger + */ +public abstract class AbstractSingleConverter implements SingleValueConverter { + + protected CtuluAnalyze analyse; + + /** + * + */ + public AbstractSingleConverter() { + super(); + } + + /** + * @return the analyse + */ + public CtuluAnalyze getAnalyse() { + return analyse; + } + + /** + * TODO a continuer pour prendre en compte option + * + * @param code + * @param option + */ + protected void addFatalError(final String code, final Object option) { + if (analyse != null) { + analyse.addFatalError(code, option); + } + } + + /** + * @param analyse the analyse to set + */ + public final void setAnalyse(final CtuluAnalyze analyse) { + this.analyse = analyse; + } + +} \ No newline at end of file Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/EnumsConverter.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/EnumsConverter.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/EnumsConverter.java 2009-05-27 01:09:20 UTC (rev 4807) @@ -0,0 +1,180 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.io.common; + +import java.util.HashMap; +import java.util.Map; + +import com.thoughtworks.xstream.converters.SingleValueConverter; + +import org.apache.commons.collections.bidimap.DualHashBidiMap; +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.metier.emh.EnumFormulePdc; +import org.fudaa.dodico.crue.metier.emh.EnumSensOrifice; +import org.fudaa.dodico.crue.metier.emh.EnumSensOuv; + +/** + * Gestion des converter pour les enums + * + * @author deniger + */ +public final class EnumsConverter { + + /** + * Code d'erreur a utiliser lorsqu'un enum ne peut etre reconstruit + */ + public static final String CODE_CONVERT_ENUM_ERROR = "io.convert.enum.error"; + + private EnumsConverter() { + + } + + protected static class DefaultEnumConverter extends AbstractSingleConverter { + /** + * + */ + + private final DualHashBidiMap enumString; + private final Class classAccepted; + + /** + * @param enumString la map Enum<->String + * @param classAccepted la classe de l'enum + * @param analyze l'analyze recevant les erreur. + */ + public DefaultEnumConverter(final DualHashBidiMap enumString, final Class classAccepted, final CtuluAnalyze analyze) { + super(); + this.enumString = enumString; + this.classAccepted = classAccepted; + setAnalyse(analyze); + } + + public boolean canConvert(final Class arg0) { + return classAccepted.equals(arg0); + } + + public Object fromString(final String arg0) { + final Object res = enumString.getKey(arg0); + if (res == null) { + addFatalError(CODE_CONVERT_ENUM_ERROR, arg0); + } + return res; + } + + public String toString(final Object arg0) { + final String res = (String) enumString.get(arg0); + if (res == null) { + addFatalError(CODE_CONVERT_ENUM_ERROR, arg0); + } + return res; + + } + + } + + private static final Map<Class, DualHashBidiMap> CRUE10_CONVERTER = new HashMap<Class, DualHashBidiMap>(); + private static final Map<Class, DualHashBidiMap> CRUE9_CONVERTER = new HashMap<Class, DualHashBidiMap>(); + static { + CRUE10_CONVERTER.put(EnumFormulePdc.class, createEnumFormulePdcMap()); + CRUE9_CONVERTER.put(EnumFormulePdc.class, createEnumFormulePdcMapCrue9()); + CRUE10_CONVERTER.put(EnumSensOrifice.class, createEnumSensOrificeMap()); + CRUE9_CONVERTER.put(EnumSensOrifice.class, createEnumSensOrificeMapCrue9()); + CRUE10_CONVERTER.put(EnumSensOuv.class, createEnumSensOuvMap()); + CRUE9_CONVERTER.put(EnumSensOuv.class, createEnumSensOuvMapCrue9()); + } + + /** + * a voir pour utiliser une sauvegarde eventuelle. + * + * @return + */ + private static DualHashBidiMap createEnumFormulePdcMap() { + final DualHashBidiMap res = new DualHashBidiMap(); + res.put(EnumFormulePdc.BORDA, "Borda"); + res.put(EnumFormulePdc.DIVERGENT, "Divergent"); + return res; + } + + /** + * @return une dual map enum<->String pour Crue 9. + */ + private static DualHashBidiMap createEnumFormulePdcMapCrue9() { + final DualHashBidiMap res = new DualHashBidiMap(); + res.put(EnumFormulePdc.BORDA, "1"); + res.put(EnumFormulePdc.DIVERGENT, "0"); + return res; + } + + /** + * @return une dual map enum<->String pour Crue 9. + */ + private static DualHashBidiMap createEnumSensOrificeMapCrue9() { + final DualHashBidiMap res = new DualHashBidiMap(); + res.put(EnumSensOrifice.BIDIRECT, "0"); + res.put(EnumSensOrifice.DIRECT, "1"); + res.put(EnumSensOrifice.INDIRECT, "-1"); + return res; + } + + /** + * @return une dual map enum<->String pour Crue 9. + */ + private static DualHashBidiMap createEnumSensOrificeMap() { + final DualHashBidiMap res = new DualHashBidiMap(); + res.put(EnumSensOrifice.BIDIRECT, "Bidirect"); + res.put(EnumSensOrifice.DIRECT, "Direct"); + res.put(EnumSensOrifice.INDIRECT, "Indirect"); + return res; + } + + /** + * EnumSensOuv + * + * @return une dual map enum<->String pour Crue 9. + */ + private static DualHashBidiMap createEnumSensOuvMapCrue9() { + final DualHashBidiMap res = new DualHashBidiMap(); + res.put(EnumSensOuv.OUV_VERS_BAS, "42"); + res.put(EnumSensOuv.OUV_VERS_HAUT, "41"); + return res; + } + + /** + * @return une dual map enum<->String pour Crue 9. + */ + private static DualHashBidiMap createEnumSensOuvMap() { + final DualHashBidiMap res = new DualHashBidiMap(); + res.put(EnumSensOuv.OUV_VERS_HAUT, "OuvVersHaut"); + res.put(EnumSensOuv.OUV_VERS_BAS, "OuvVersBas"); + return res; + } + + /** + * @param enumClass la classe de l'enum + * @param analyze l'analyze + * @return le converter pour EnumFormulePdc + */ + public static SingleValueConverter createEnumConverter(final Class enumClass, final CtuluAnalyze analyze) { + return createEnumConverter(CRUE10_CONVERTER, enumClass, analyze); + + } + + /** + * @param enumClass la classe de l'enum + * @param analyze l'analyze + * @return le converter pour l'enum enumClass pour Crue9 + */ + public static SingleValueConverter createCrue9EnumConverter(final Class enumClass, final CtuluAnalyze analyze) { + return createEnumConverter(CRUE9_CONVERTER, enumClass, analyze); + + } + + private static SingleValueConverter createEnumConverter(final Map<Class, DualHashBidiMap> map, final Class enumClass, + final CtuluAnalyze analyze) { + return new DefaultEnumConverter(map.get(enumClass), enumClass, analyze); + + } + +} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java 2009-05-26 17:48:07 UTC (rev 4806) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java 2009-05-27 01:09:20 UTC (rev 4807) @@ -2,10 +2,9 @@ import com.thoughtworks.xstream.XStream; +import org.fudaa.dodico.crue.metier.emh.AbstractLoi; import org.fudaa.dodico.crue.metier.emh.EvolutionFF; -import org.fudaa.dodico.crue.metier.emh.Loi; import org.fudaa.dodico.crue.metier.emh.PtEvolutionFF; -import org.fudaa.dodico.crue.metier.emh.VariableOrdonnee; import org.fudaa.dodico.crue.metier.helper.LoiHelper; /** @@ -48,15 +47,15 @@ * @param outLoi * @param inLoi */ - protected static void daoToMetierLoi(final Loi outLoi, final AbstractDaoLoi inLoi) { + protected static void daoToMetierLoi(final AbstractLoi outLoi, final AbstractDaoLoi inLoi) { outLoi.setNom(inLoi.Nom); outLoi.setDescription(inLoi.Description); - VariableOrdonnee varOrdonnee = new VariableOrdonnee(); - varOrdonnee.setType(inLoi.VarAbscisse); - outLoi.setMVariableAbscisse(varOrdonnee); - varOrdonnee = new VariableOrdonnee(); - varOrdonnee.setType(inLoi.VarOrdonnee); - outLoi.setMVariableOrdonnee(varOrdonnee); + // VariableOrdonnee varOrdonnee = new VariableOrdonnee(); + // varOrdonnee.setType(inLoi.VarAbscisse); + outLoi.setVarAbscisse(inLoi.VarAbscisse); + // varOrdonnee = new VariableOrdonnee(); + // varOrdonnee.setType(inLoi.VarOrdonnee); + outLoi.setVarOrdonnee(inLoi.VarOrdonnee); outLoi.setEvolutionFF(inLoi.EvolutionFF); } @@ -66,11 +65,11 @@ * @param listePersistante * @param dataMetier */ - protected static void metierToDaoLoi(final AbstractDaoLoi outLoi, final Loi inLoi) { + protected static void metierToDaoLoi(final AbstractDaoLoi outLoi, final AbstractLoi inLoi) { outLoi.Nom = inLoi.getNom(); outLoi.Description = inLoi.getDescription(); - outLoi.VarAbscisse = inLoi.getMVariableAbscisse().getType(); - outLoi.VarOrdonnee = inLoi.getMVariableOrdonnee().getType(); + outLoi.VarAbscisse = inLoi.getVarAbscisse(); + outLoi.VarOrdonnee = inLoi.getVarOrdonnee(); outLoi.EvolutionFF = inLoi.getEvolutionFF(); } } \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java 2009-05-26 17:48:07 UTC (rev 4806) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java 2009-05-27 01:09:20 UTC (rev 4807) @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.List; +import org.apache.commons.collections.CollectionUtils; import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCLM.*; import org.fudaa.dodico.crue.metier.CrueData; @@ -49,11 +50,11 @@ res.listeCalculs = new ArrayList<CalculAbstractPersist>(); - List<CalculAbstractPersist> listeCalculs = remplirPersistanceDCLMAvecCalculsPermanents(metier - .getListeCalculsPermanents(), analyser); + List<CalculAbstractPersist> listeCalculs = remplirPersistanceDCLMAvecCalculsPermanents(metier.getCalcPseudoPerm(), + analyser); res.listeCalculs.addAll(listeCalculs); - listeCalculs = remplirPersistanceDCLMAvecCalculsTransitoires(metier.getListeCalculsTransitoires(), analyser); + listeCalculs = remplirPersistanceDCLMAvecCalculsTransitoires(metier.getCalcTrans(), analyser); res.listeCalculs.addAll(listeCalculs); return res; @@ -72,10 +73,10 @@ final List<CalcPseudoPerm> listeCalculsPermanents = new ArrayList<CalcPseudoPerm>(); final List<CalcTrans> listeCalculsTransitoires = new ArrayList<CalcTrans>(); - metier.setListeCalculsPermanents(listeCalculsPermanents); - metier.setListeCalculsTransitoires(listeCalculsTransitoires); - - if (calculsPersist == null || calculsPersist.size() == 0) { + metier.setCalcPseudoPerm(listeCalculsPermanents); + metier.setCalcTrans(listeCalculsTransitoires); + // TODO est-ce une erreur + if (CollectionUtils.isEmpty(calculsPersist)) { analyzer.addError("io.dclm.no.calcul"); } else { @@ -110,7 +111,7 @@ final CalcPseudoPerm calculPermMetier = new CalcPseudoPerm(); calculPermMetier.setNom(calculPermPersist.Nom); calculPermMetier.setDescription(calculPermPersist.Description); - calculPermMetier.setMethodeCalcul(calculPermPersist.MethodeCalcul); + // calculPermMetier.setMethodeCalcul(calculPermPersist.MethodeCalcul); // *** Gestion des elements d'un calcul permanent if (calculPermPersist.listeElementsCalculPermanent == null @@ -118,11 +119,13 @@ analyzer.addError("io.dclm.no.calcul.perm"); } else { - final List<DonCLimMNoeudNiveauContinu> listeDonCLimMNoeudNiveauContinu = new ArrayList<DonCLimMNoeudNiveauContinu>(); - final List<DonCLimMBrancheOrifice> listeDonCLimMBrancheOrifice = new ArrayList<DonCLimMBrancheOrifice>(); - final List<DonCLimMBrancheSaintVenant> listeDonCLimMBrancheSaintVenant = new ArrayList<DonCLimMBrancheSaintVenant>(); - final List<DonCLimMCasierProfil> listeDonCLimMCasierProfil = new ArrayList<DonCLimMCasierProfil>(); - calculPermMetier.setListeRefs(new ArrayList<EMH>()); + // final List<DonCLimMNoeudNiveauContinu> listeDonCLimMNoeudNiveauContinu = new + // ArrayList<DonCLimMNoeudNiveauContinu>(); + // final List<DonCLimMBrancheOrifice> listeDonCLimMBrancheOrifice = new ArrayList<DonCLimMBrancheOrifice>(); + // final List<DonCLimMBrancheSaintVenant> listeDonCLimMBrancheSaintVenant = new + // ArrayList<DonCLimMBrancheSaintVenant>(); + // final List<DonCLimMCasierProfil> listeDonCLimMCasierProfil = new ArrayList<DonCLimMCasierProfil>(); + // calculPermMetier.setListeRefs(new ArrayList<EMH>()); for (final RefDCLMAbstractPersist eltRefPersist : calculPermPersist.listeElementsCalculPermanent) { if (eltRefPersist instanceof CalcPseudoPermNoeudNiveauContinuQappPersist) { @@ -133,9 +136,12 @@ final CalcPseudoPermNoeudNiveauContinuQapp eltMetier = new CalcPseudoPermNoeudNiveauContinuQapp(); eltMetier.setNomCalculParent(calculPermMetier.getNom()); eltMetier.setQapp(eltPersist.Qapp); - listeDonCLimMNoeudNiveauContinu.add(eltMetier); + calculPermMetier.addCalcPseudoPermNoeudNiveauContinuQapp(eltMetier); + // listeDonCLimMNoeudNiveauContinu.add(eltMetier); noeudMetier.addDCLM(eltMetier); - calculPermMetier.getListeRefs().add(noeudMetier); + // TODO a modifier et a mettre dans addDCLM + eltMetier.setNomEMH(noeudMetier.getNom()); + // calculPermMetier.getListeRefs().add(noeudMetier); } } else if (eltRefPersist instanceof CalcPseudoPermNoeudNiveauContinuZimposePersist) { @@ -145,10 +151,10 @@ if (noeudMetier != null) { final CalcPseudoPermNoeudNiveauContinuZimpose eltMetier = new CalcPseudoPermNoeudNiveauContinuZimpose(); eltMetier.setNomCalculParent(calculPermMetier.getNom()); - eltMetier.setZImpose(eltPersist.Zimpose); - listeDonCLimMNoeudNiveauContinu.add(eltMetier); + eltMetier.setZimpose(eltPersist.Zimpose); + calculPermMetier.addCalcPseudoPermNoeudNiveauContinuZimpose(eltMetier); noeudMetier.addDCLM(eltMetier); - calculPermMetier.getListeRefs().add(noeudMetier); + eltMetier.setNomEMH(noeudMetier.getNom()); } } else if (eltRefPersist instanceof CalcPseudoPermBrancheOrificeManoeuvrePersist) { @@ -160,9 +166,10 @@ eltMetier.setNomCalculParent(calculPermMetier.getNom()); eltMetier.setOuv(eltPersist.Ouv); eltMetier.setSensOuv(eltPersist.SensOuv); - listeDonCLimMBrancheOrifice.add(eltMetier); + calculPermMetier.addCalcPseudoPermBrancheOrificeManoeuvre(eltMetier); brancheMetier.addDCLM(eltMetier); - calculPermMetier.getListeRefs().add(brancheMetier); + eltMetier.setNomEMH(brancheMetier.getNom()); + // calculPermMetier.getListeRefs().add(brancheMetier); } } else if (eltRefPersist instanceof CalcPseudoPermBrancheBrancheSaintVenantQruisPersist) { @@ -173,9 +180,11 @@ final CalcPseudoPermBrancheSaintVenantQruis eltMetier = new CalcPseudoPermBrancheSaintVenantQruis(); eltMetier.setNomCalculParent(calculPermMetier.getNom()); eltMetier.setQruis(eltPersist.Qruis); - listeDonCLimMBrancheSaintVenant.add(eltMetier); + calculPermMetier.addCalcPseudoPermBrancheSaintVenantQruis(eltMetier); + // listeDonCLimMBrancheSaintVenant.add(eltMetier); brancheMetier.addDCLM(eltMetier); - calculPermMetier.getListeRefs().add(brancheMetier); + eltMetier.setNomEMH(brancheMetier.getNom()); + // calculPermMetier.getListeRefs().add(brancheMetier); } } else if (eltRefPersist instanceof CalcPseudoPermBrancheCasierProfilQruisPersist) { @@ -186,17 +195,18 @@ final CalcPseudoPermCasierProfilQruis eltMetier = new CalcPseudoPermCasierProfilQruis(); eltMetier.setNomCalculParent(calculPermMetier.getNom()); eltMetier.setQruis(eltPersist.Qruis); - listeDonCLimMCasierProfil.add(eltMetier); + calculPermMetier.addCalcPseudoPermCasierProfilQruis(eltMetier); + // listeDonCLimMCasierProfil.add(eltMetier); casierMetier.addDCLM(eltMetier); - calculPermMetier.getListeRefs().add(casierMetier); + eltMetier.setNomEMH(casierMetier.getNom()); } } } - calculPermMetier.setListeDonCLimMNoeudNiveauContinu(listeDonCLimMNoeudNiveauContinu); - calculPermMetier.setListeDonCLimMBrancheOrifice(listeDonCLimMBrancheOrifice); - calculPermMetier.setListeDonCLimMBrancheSaintVenant(listeDonCLimMBrancheSaintVenant); - calculPermMetier.setListeDonCLimMCasierProfil(listeDonCLimMCasierProfil); + // calculPermMetier.setListeDonCLimMNoeudNiveauContinu(listeDonCLimMNoeudNiveauContinu); + // calculPermMetier.setListeDonCLimMBrancheOrifice(listeDonCLimMBrancheOrifice); + // calculPermMetier.setListeDonCLimMBrancheSaintVenant(listeDonCLimMBrancheSaintVenant); + // calculPermMetier.setListeDonCLimMCasierProfil(listeDonCLimMCasierProfil); } listeMetier.add(calculPermMetier); @@ -221,11 +231,13 @@ analyzer.addError("io.dclm.no.calcul.trans"); } else { - final List<DonCLimMNoeudNiveauContinu> listeDonCLimMNoeudNiveauContinu = new ArrayList<DonCLimMNoeudNiveauContinu>(); - final List<DonCLimMBrancheOrifice> listeDonCLimMBrancheOrifice = new ArrayList<DonCLimMBrancheOrifice>(); - final List<DonCLimMBrancheSaintVenant> listeDonCLimMBrancheSaintVenant = new ArrayList<DonCLimMBrancheSaintVenant>(); - final List<DonCLimMCasierProfil> listeDonCLimMCasierProfil = new ArrayList<DonCLimMCasierProfil>(); - calculTransMetier.setListeRefs(new ArrayList<EMH>()); + // final List<DonCLimMNoeudNiveauContinu> listeDonCLimMNoeudNiveauContinu = new + // ArrayList<DonCLimMNoeudNiveauContinu>(); + // final List<DonCLimMBrancheOrifice> listeDonCLimMBrancheOrifice = new ArrayList<DonCLimMBrancheOrifice>(); + // final List<DonCLimMBrancheSaintVenant> listeDonCLimMBrancheSaintVenant = new + // ArrayList<DonCLimMBrancheSaintVenant>(); + // final List<DonCLimMCasierProfil> listeDonCLimMCasierProfil = new ArrayList<DonCLimMCasierProfil>(); + // calculTransMetier.setListeRefs(new ArrayList<EMH>()); for (final RefDCLMAbstractPersist eltRefPersist : calculTransPersist.listeElementsCalculTransitoire) { @@ -234,25 +246,19 @@ final NoeudNiveauContinuHydrogrammePersist eltPersist = (NoeudNiveauContinuHydrogrammePersist) eltRefPersist; final CatEMHNoeud noeudMetier = getEMHNoeudFromReferenceDRSO(eltPersist.NomRef, dataLinked, analyzer); if (noeudMetier != null) { - final CalcTransNoeudNiveauContinuHydrogramme eltMetier = new CalcTransNoeudNiveauContinuHydrogramme(); + final CalcTransNoeudNiveauContinuQapp eltMetier = new CalcTransNoeudNiveauContinuQapp(); eltMetier.setNomCalculParent(calculTransMetier.getNom()); - final List<LoiDF> loisDF = new ArrayList<LoiDF>(); + LoiDF loi = null; - if (eltPersist.listeHydrogrammes == null || eltPersist.listeHydrogrammes.size() == 0) { + if (eltPersist.HydrogrammeQapp == null) { CrueHelper.emhEmpty("Calcul Transitoire - NoeudNiveauContinu - Hydrogrammes", analyzer); } else { - for (final HydrogrammeQappPersist hydroPersist : eltPersist.listeHydrogrammes) { - - final Loi loi = getLoiFromReferenceDLHY(hydroPersist.NomRef, dataLinked, analyzer); - if (loi != null && loi instanceof LoiDF) { - loisDF.add((LoiDF) loi); - } - } + loi = (LoiDF) getLoiFromReferenceDLHY(eltPersist.HydrogrammeQapp.NomRef, dataLinked, analyzer); } - eltMetier.setHydrogrammes(loisDF); - listeDonCLimMNoeudNiveauContinu.add(eltMetier); + eltMetier.setHydrogrammeQapp(loi); noeudMetier.addDCLM(eltMetier); - calculTransMetier.getListeRefs().add(noeudMetier); + eltMetier.setNomEMH(noeudMetier.getNom()); + calculTransMetier.addCalcTransNoeudNiveauContinuQapp(eltMetier); } } else if (eltRefPersist instanceof NoeudNiveauContinuLimnigrammePersist) { @@ -262,24 +268,20 @@ if (noeudMetier != null) { final CalcTransNoeudNiveauContinuLimnigramme eltMetier = new CalcTransNoeudNiveauContinuLimnigramme(); eltMetier.setNomCalculParent(calculTransMetier.getNom()); + noeudMetier.addDCLM(eltMetier); + eltMetier.setNomEMH(noeudMetier.getNom()); - final List<LoiDF> loisDF = new ArrayList<LoiDF>(); + LoiDF loi = null; - if (eltPersist.listeLimnigrammes == null || eltPersist.listeLimnigrammes.size() == 0) { + if (eltPersist.Limnigramme == null) { CrueHelper.emhEmpty("Calcul Transitoire - NoeudNiveauContinu - Limnigrammes", analyzer); } else { - for (final LimnigrammePersist limniPersist : eltPersist.listeLimnigrammes) { + loi = (LoiDF) getLoiFromReferenceDLHY(eltPersist.Limnigramme.NomRef, dataLinked, analyzer); + } + eltMetier.setLimnigramme(loi); + // listeDonCLimMNoeudNiveauContinu.add(eltMetier); - final Loi loi = getLoiFromReferenceDLHY(limniPersist.NomRef, dataLinked, analyzer); - if (loi != null && loi instanceof LoiDF) { - loisDF.add((LoiDF) loi); - } - } - } - eltMetier.setLimnigrammes(loisDF); - listeDonCLimMNoeudNiveauContinu.add(eltMetier); - noeudMetier.addDCLM(eltMetier); - calculTransMetier.getListeRefs().add(noeudMetier); + calculTransMetier.addCalcTransNoeudNiveauContinuLimnigramme(eltMetier); } } else if (eltRefPersist instanceof NoeudNiveauContinuTarragePersist) { @@ -289,24 +291,18 @@ if (noeudMetier != null) { final CalcTransNoeudNiveauContinuTarrage eltMetier = new CalcTransNoeudNiveauContinuTarrage(); eltMetier.setNomCalculParent(calculTransMetier.getNom()); + noeudMetier.addDCLM(eltMetier); + eltMetier.setNomEMH(noeudMetier.getNom()); - final List<LoiFF> loisFF = new ArrayList<LoiFF>(); + LoiFF loi = null; - if (eltPersist.listeTarrages == null || eltPersist.listeTarrages.size() == 0) { + if (eltPersist.Tarrage == null) { CrueHelper.emhEmpty("Calcul Transitoire - NoeudNiveauContinu - Tarrages", analyzer); } else { - for (final TarragePersist tarragePersist : eltPersist.listeTarrages) { - - final Loi loi = getLoiFromReferenceDLHY(tarragePersist.NomRef, dataLinked, analyzer); - if (loi != null && loi instanceof LoiFF) { - loisFF.add((LoiFF) loi); - } - } + loi = (LoiFF) getLoiFromReferenceDLHY(eltPersist.Tarrage.NomRef, dataLinked, analyzer); } - eltMetier.setTarrages(loisFF); - listeDonCLimMNoeudNiveauContinu.add(eltMetier); - noeudMetier.addDCLM(eltMetier); - calculTransMetier.getListeRefs().add(noeudMetier); + eltMetier.setTarrage(loi); + calculTransMetier.addCalcTransNoeudNiveauContinuTarrage(eltMetier); } } else if (eltRefPersist instanceof BrancheOrificeManoeuvrePersist) { @@ -316,25 +312,18 @@ if (brancheMetier != null) { final CalcTransBrancheOrificeManoeuvre eltMetier = new CalcTransBrancheOrificeManoeuvre(); eltMetier.setNomCalculParent(calculTransMetier.getNom()); + brancheMetier.addDCLM(eltMetier); + eltMetier.setNomEMH(brancheMetier.getNom()); + LoiDF loi = null; - final List<LoiDF> loisDF = new ArrayList<LoiDF>(); - - if (eltPersist.listeManoeuvres == null || eltPersist.listeManoeuvres.size() == 0) { + if (eltPersist.Manoeuvre == null) { CrueHelper.emhEmpty("Calcul Transitoire - BrancheOrificeManoeuvre - Manoeuvres", analyzer); } else { - for (final ManoeuvrePersist manoeuvrePersist : eltPersist.listeManoeuvres) { - - final Loi loi = getLoiFromReferenceDLHY(manoeuvrePersist.NomRef, dataLinked, analyzer); - if (loi != null && loi instanceof LoiDF) { - loisDF.add((LoiDF) loi); - } - } + loi = (LoiDF) getLoiFromReferenceDLHY(eltPersist.Manoeuvre.NomRef, dataLinked, analyzer); } - eltMetier.setManoeuvres(loisDF); + eltMetier.setManoeuvre(loi); eltMetier.setSensOuv(eltPersist.SensOuv); - listeDonCLimMBrancheOrifice.add(eltMetier); - brancheMetier.addDCLM(eltMetier); - calculTransMetier.getListeRefs().add(brancheMetier); + calculTransMetier.addCalcTransBrancheOrificeManoeuvre(eltMetier); } } else if (eltRefPersist instanceof BrancheSaintVenantHydrogrammeRuisPersist) { @@ -344,26 +333,18 @@ if (brancheMetier != null) { final CalcTransBrancheSaintVenantQruis eltMetier = new CalcTransBrancheSaintVenantQruis(); eltMetier.setNomCalculParent(calculTransMetier.getNom()); + brancheMetier.addDCLM(eltMetier); + eltMetier.setNomEMH(brancheMetier.getNom()); + LoiDF loi = null; - final List<LoiDF> loisDF = new ArrayList<LoiDF>(); - - if (eltPersist.listeHydrogrammesRuis == null || eltPersist.listeHydrogrammesRuis.size() == 0) { - + if (eltPersist.HydrogrammeQruis == null) { CrueHelper .emhEmpty("Calcul Transitoire - BrancheSaintVenantHydrogrammeRuis - HydrogrammesRuis", analyzer); } else { - for (final HydrogrammeQruisPersist hydroRuisPersist : eltPersist.listeHydrogrammesRuis) { - - final Loi loi = getLoiFromReferenceDLHY(hydroRuisPersist.NomRef, dataLinked, analyzer); - if (loi != null && loi instanceof LoiDF) { - loisDF.add((LoiDF) loi); - } - } + loi = (LoiDF) getLoiFromReferenceDLHY(eltPersist.HydrogrammeQruis.NomRef, dataLinked, analyzer); } - eltMetier.setHydrogrammesRuis(loisDF); - listeDonCLimMBrancheSaintVenant.add(eltMetier); - brancheMetier.addDCLM(eltMetier); - calculTransMetier.getListeRefs().add(brancheMetier); + eltMetier.setHydrogrammeQruis(loi); + calculTransMetier.addCalcTransBrancheSaintVenantQruis(eltMetier); } } else if (eltRefPersist instanceof CasierProfilHydrogrammeRuisPersist) { @@ -373,34 +354,28 @@ if (casierMetier != null) { final CalcTransCasierProfilQruis eltMetier = new CalcTransCasierProfilQruis(); eltMetier.setNomCalculParent(calculTransMetier.getNom()); + casierMetier.addDCLM(eltMetier); + eltMetier.setNomEMH(casierMetier.getNom()); + LoiDF loi = null; - final List<LoiDF> loisDF = new ArrayList<LoiDF>(); + if (eltPersist.HydrogrammeQruis == null) { - if (eltPersist.listeHydrogrammesRuis == null || eltPersist.listeHydrogrammesRuis.size() == 0) { - CrueHelper.emhEmpty("Calcul Transitoire - CasierProfilHydrogrammeRuis - HydrogrammesRuis", analyzer); } else { - for (final HydrogrammeQruisPersist hydroRuisPersist : eltPersist.listeHydrogrammesRuis) { - final Loi loi = getLoiFromReferenceDLHY(hydroRuisPersist.NomRef, dataLinked, analyzer); - if (loi != null && loi instanceof LoiDF) { - loisDF.add((LoiDF) loi); - } - } + loi = (LoiDF) getLoiFromReferenceDLHY(eltPersist.HydrogrammeQruis.NomRef, dataLinked, analyzer); } - eltMetier.setHydrogrammesRuis(loisDF); - listeDonCLimMCasierProfil.add(eltMetier); - casierMetier.addDCLM(eltMetier); - calculTransMetier.getListeRefs().add(casierMetier); + eltMetier.setHydrogrammeQruis(loi); + calculTransMetier.addCalcTransCasierProfilQruis(eltMetier); } } } - calculTransMetier.setListeDonCLimMNoeudNiveauContinu(listeDonCLimMNoeudNiveauContinu); - calculTransMetier.setListeDonCLimMBrancheOrifice(listeDonCLimMBrancheOrifice); - calculTransMetier.setListeDonCLimMBrancheSaintVenant(listeDonCLimMBrancheSaintVenant); - calculTransMetier.setListeDonCLimMCasierProfil(listeDonCLimMCasierProfil); + // calculTransMetier.setListeDonCLimMNoeudNiveauContinu(listeDonCLimMNoeudNiveauContinu); + // calculTransMetier.setListeDonCLimMBrancheOrifice(listeDonCLimMBrancheOrifice); + // calculTransMetier.setListeDonCLimMBrancheSaintVenant(listeDonCLimMBrancheSaintVenant); + // calculTransMetier.setListeDonCLimMCasierProfil(listeDonCLimMCasierProfil); } @@ -415,9 +390,10 @@ * @param analyzer * @return */ - private static Loi getLoiFromReferenceDLHY(final String nomRef, final CrueData dataLinked, final CtuluAnalyze analyzer) { + private static AbstractLoi getLoiFromReferenceDLHY(final String nomRef, final CrueData dataLinked, + final CtuluAnalyze analyzer) { - final Loi loi = LoiHelper.findByReference(nomRef, dataLinked.getLois()); + final AbstractLoi loi = LoiHelper.findByReference(nomRef, dataLinked.getLois()); if (loi == null) { analyzer.addError("io.dclm.ref.loi", CrueHelper.createMapNom(nomRef)); } @@ -506,160 +482,204 @@ final CalculPermanentPersist calculPersist = new CalculPermanentPersist(); calculPersist.Nom = calculMetier.getNom(); calculPersist.Description = calculMetier.getDescription(); - calculPersist.MethodeCalcul = calculMetier.getMethodeCalcul(); + // calculPersist.MethodeCalcul = calculMetier.getMethodeCalcul(); calculPersist.listeElementsCalculPermanent = new ArrayList<RefDCLMAbstractPersist>(); - final List<CalcPseudoPermNoeudNiveauContinuQappPersist> listePersistNNCQapp = new ArrayList<CalcPseudoPermNoeudNiveauContinuQappPersist>(); - final List<CalcPseudoPermNoeudNiveauContinuZimposePersist> listePersistNNCZ = new ArrayList<CalcPseudoPermNoeudNiveauContinuZimposePersist>(); - final List<CalcPseudoPermBrancheOrificeManoeuvrePersist> listePersistBrancheOr = new ArrayList<CalcPseudoPermBrancheOrificeManoeuvrePersist>(); - final List<CalcPseudoPermBrancheBrancheSaintVenantQruisPersist> listePersistBrancheQRuis = new ArrayList<CalcPseudoPermBrancheBrancheSaintVenantQruisPersist>(); - final List<CalcPseudoPermBrancheCasierProfilQruisPersist> listePersistCasierQRuis = new ArrayList<CalcPseudoPermBrancheCasierProfilQruisPersist>(); + // final List<CalcPseudoPermNoeudNiveauContinuQappPersist> listePersistNNCQapp = new + // ArrayList<CalcPseudoPermNoeudNiveauContinuQappPersist>(); + // final List<CalcPseudoPermNoeudNiveauContinuZimposePersist> listePersistNNCZ = new + // ArrayList<CalcPseudoPermNoeudNiveauContinuZimposePersist>(); + // final List<CalcPseudoPermBrancheOrificeManoeuvrePersist> listePersistBrancheOr = new + // ArrayList<CalcPseudoPermBrancheOrificeManoeuvrePersist>(); + // final List<CalcPseudoPermBrancheBrancheSaintVenantQruisPersist> listePersistBrancheQRuis = new + // ArrayList<CalcPseudoPermBrancheBrancheSaintVenantQruisPersist>(); + // final List<CalcPseudoPermBrancheCasierProfilQruisPersist> listePersistCasierQRuis = new + // ArrayList<CalcPseudoPermBrancheCasierProfilQruisPersist>(); - for (final EMH emh : calculMetier.getListeRefs()) { - if (emh instanceof CatEMHNoeud) { + for (CalcPseudoPermNoeudNiveauContinuQapp in : calculMetier.getCalcPseudoPermNoeudNiveauContinuQapp()) { + final CalcPseudoPermNoeudNiveauContinuQappPersist dao = new CalcPseudoPermNoeudNiveauContinuQappPersist(); + dao.NomRef = in.getNomEMH(); + dao.Qapp = in.getValue(); + calculPersist.listeElementsCalculPermanent.add(dao); + } + for (CalcPseudoPermNoeudNiveauContinuZimpose in : calculMetier.getCalcPseudoPermNoeudNiveauContinuZimpose()) { + final CalcPseudoPermNoeudNiveauContinuZimposePersist dao = new CalcPseudoPermNoeudNiveauContinuZimposePersist(); + dao.NomRef = in.getNomEMH(); + dao.Zimpose = in.getValue(); + calculPersist.listeElementsCalculPermanent.add(dao); + } + for (CalcPseudoPermBrancheOrificeManoeuvre in : calculMetier.getCalcPseudoPermBrancheOrificeManoeuvre()) { + final CalcPseudoPermBrancheOrificeManoeuvrePersist dao = new CalcPseudoPermBrancheOrificeManoeuvrePersist(); + dao.NomRef = in.getNomEMH(); + dao.Ouv = in.getValue(); + dao.SensOuv = in.getSensOuv(); + calculPersist.listeElementsCalculPermanent.add(dao); + } + for (CalcPseudoPermBrancheSaintVenantQruis in : calculMetier.getCalcPseudoPermBrancheSaintVenantQruis()) { + final CalcPseudoPermBrancheBrancheSaintVenantQruisPersist dao = new CalcPseudoPermBrancheBrancheSaintVenantQruisPersist(); + dao.NomRef = in.getNomEMH(); + dao.Qruis = in.getValue(); + calculPersist.listeElementsCalculPermanent.add(dao); + } + for (CalcPseudoPermCasierProfilQruis in : calculMetier.getCalcPseudoPermCasierProfilQruis()) { + final CalcPseudoPermBrancheCasierProfilQruisPersist dao = new CalcPseudoPermBrancheCasierProfilQruisPersist(); + dao.NomRef = in.getNomEMH(); + dao.Qruis = in.getValue(); + calculPersist.listeElementsCalculPermanent.add(dao); + } - final List<DonClimM> listeDoncClimM = emh.getDCLM(); - if (listeDoncClimM == null) { - continue; - } + // for (final EMH emh : calculMetier.getListeRefs()) { + // if (emh instanceof CatEMHNoeud) { + // + // final List<DonCLimM> listeDoncClimM = emh.getDCLM(); + // if (listeDoncClimM == null) { + // continue; + // } + // + // // boolean trouve = false; + // + // for (final DonCLimM dataCliM : listeDoncClimM) { + // if (dataCliM instanceof CalcPseudoPermNoeudNiveauContinuQapp) { + // + // final CalcPseudoPermNoeudNiveauContinuQapp noeudNivContQapp = (CalcPseudoPermNoeudNiveauContinuQapp) + // dataCliM; + // if (noeudNivContQapp.getNomCalculParent() != null + // && noeudNivContQapp.getNomCalculParent().equals(calculPersist.Nom)) { + // final CalcPseudoPermNoeudNiveauContinuQappPersist NNCQappPersist = new + // CalcPseudoPermNoeudNiveauContinuQappPersist(); + // NNCQappPersist.NomRef = noeudNivContQapp.getNomEMH(); + // NNCQappPersist.Qapp = noeudNivContQapp.getQapp(); + // + // calculPersist.listeElementsCalculPermanent.add(NNCQappPersist); + // // trouve = true; + // // break; + // } + // + // } else if (dataCliM instanceof CalcPseudoPermNoeudNiveauContinuZimpose) { + // + // final CalcPseudoPermNoeudNiveauContinuZimpose noeudNivContZ = (CalcPseudoPermNoeudNiveauContinuZimpose) + // dataCliM; + // if (noeudNivContZ.getNomCalculParent() != null + // && noeudNivContZ.getNomCalculParent().equals(calculPersist.Nom)) { + // final CalcPseudoPermNoeudNiveauContinuZimposePersist NNCZPersist = new + // CalcPseudoPermNoeudNiveauContinuZimposePersist(); + // NNCZPersist.NomRef = noeudNivContZ.getNomEMH(); + // NNCZPersist.Zimpose = noeudNivContZ.getZimpose(); + // + // calculPersist.listeElementsCalculPermanent.add(NNCZPersist); + // // trouve = true; + // // break; + // } + // } + // } + // // if (!trouve) { + // // analyser.addError("io.dclm.data.nnc.notfound", CrueHelper.createMapNom(emh.getNom())); + // // } + // + // } // Fin if EMHNoeudNiveauContinu + // else if (emh instanceof CatEMHBranche) { + // + // if (emh instanceof EMHBrancheOrifice) { + // + // final List<DonCLimM> listeDoncClimM = emh.getDCLM(); + // if (listeDoncClimM == null) { + // continue; + // } + // + // // boolean trouve = false; + // for (final DonCLimM dataCliM : listeDoncClimM) { + // if (dataCliM instanceof CalcPseudoPermBrancheOrificeManoeuvre) { + // + // final CalcPseudoPermBrancheOrificeManoeuvre brancheCast = (CalcPseudoPermBrancheOrificeManoeuvre) dataCliM; + // if (brancheCast.getNomCalculParent() != null + // && brancheCast.getNomCalculParent().equals(calculPersist.Nom)) { + // final CalcPseudoPermBrancheOrificeManoeuvrePersist brancheOrPersist = new + // CalcPseudoPermBrancheOrificeManoeuvrePersist(); + // brancheOrPersist.NomRef = brancheCast.getNomEMH(); + // brancheOrPersist.SensOuv = brancheCast.getSensOuv(); + // brancheOrPersist.Ouv = brancheCast.getOuv(); + // + // calculPersist.listeElementsCalculPermanent.add(brancheOrPersist); + // // trouve = true; + // // break; + // } + // + // } + // } + // // if (!trouve) { + // // analyser.addError("io.dclm.data.brancheo.notfound", CrueHelper.createMapNom(emh.getNom())); + // // } + // + // } // Fin if EMHBrancheOrifice + // else if (emh instanceof EMHBrancheSaintVenant) { + // + // final List<DonCLimM> listeDoncClimM = emh.getDCLM(); + // if (listeDoncClimM == null) { + // continue; + // } + // + // // boolean trouve = false; + // for (final DonCLimM dataCliM : listeDoncClimM) { + // if (dataCliM instanceof CalcPseudoPermBrancheSaintVenantQruis) { + // final CalcPseudoPermBrancheSaintVenantQruis brancheCast = (CalcPseudoPermBrancheSaintVenantQruis) dataCliM; + // if (brancheCast.getNomCalculParent() != null + // && brancheCast.getNomCalculParent().equals(calculPersist.Nom)) { + // final CalcPseudoPermBrancheBrancheSaintVenantQruisPersist brancheQruisPersist = new + // CalcPseudoPermBrancheBrancheSaintVenantQruisPersist(); + // brancheQruisPersist.NomRef = brancheCast.getNomEMH(); + // brancheQruisPersist.Qruis = brancheCast.getQruis(); + // + // calculPersist.listeElementsCalculPermanent.add(brancheQruisPersist); + // // trouve = true; + // // break; + // } + // } + // } + // // if (!trouve) { + // // analyser.addError("io.dclm.data.branchesv.notfound", CrueHelper.createMapNom(emh.getNom())); + // // } + // + // } // Fin if EMHBrancheSaintVenant + // + // } // Fin if CatEMHBranche + // else if (emh instanceof EMHCasierProfil) { + // + // final List<DonCLimM> listeDoncClimM = emh.getDCLM(); + // if (listeDoncClimM == null) { + // continue; + // } + // + // // boolean trouve = false; + // for (final DonCLimM dataCliM : listeDoncClimM) { + // if (dataCliM instanceof CalcPseudoPermCasierProfilQruis) { + // final CalcPseudoPermCasierProfilQruis casierCast = (CalcPseudoPermCasierProfilQruis) dataCliM; + // if (casierCast.getNomCalculParent() != null + // && casierCast.getNomCalculParent().equals(calculPersist.Nom)) { + // final CalcPseudoPermBrancheCasierProfilQruisPersist casierPersist = new + // CalcPseudoPermBrancheCasierProfilQruisPersist(); + // casierPersist.NomRef = casierCast.getNomEMH(); + // casierPersist.Qruis = casierCast.getQruis(); + // + // calculPersist.listeElementsCalculPermanent.add(casierPersist); + // // trouve = true; + // // break; + // } + // } + // + // } + // // if (!trouve) { + // // analyser.addError("io.dclm.data.casier.notfound", CrueHelper.createMapNom(emh.getNom())); + // // } + // + // } + // } // Fin For getListeRefs - boolean trouve = false; + // calculPersist.listeElementsCalculPermanent.addAll(listePersistNNCQapp); + // calculPersist.listeElementsCalculPermanent.addAll(listePersistNNCZ); + // calculPersist.listeElementsCalculPermanent.addAll(listePersistBrancheOr); + // calculPersist.listeElementsCalculPermanent.addAll(listePersistBrancheQRuis); + // calculPersist.listeElementsCalculPermanent.addAll(listePersistCasierQRuis); - for (final DonClimM dataCliM : listeDoncClimM) { - if (dataCliM instanceof CalcPseudoPermNoeudNiveauContinuQapp) { - - final CalcPseudoPermNoeudNiveauContinuQapp noeudNivContQapp = (CalcPseudoPermNoeudNiveauContinuQapp) dataCliM; - if (noeudNivContQapp.getNomCalculParent() != null - && noeudNivContQapp.getNomCalculParent().equals(calculPersist.Nom)) { - final CalcPseudoPermNoeudNiveauContinuQappPersist NNCQappPersist = new CalcPseudoPermNoeudNiveauContinuQappPersist(); - NNCQappPersist.NomRef = emh.getNom(); - NNCQappPersist.Qapp = noeudNivContQapp.getQapp(); - - listePersistNNCQapp.add(NNCQappPersist); - trouve = true; - break; - } - - } else if (dataCliM instanceof CalcPseudoPermNoeudNiveauContinuZimpose) { - - final CalcPseudoPermNoeudNiveauContinuZimpose noeudNivContZ = (CalcPseudoPermNoeudNiveauContinuZimpose) dataCliM; - if (noeudNivContZ.getNomCalculParent() != null - && noeudNivContZ.getNomCalculParent().equals(calculPersist.Nom)) { - final CalcPseudoPermNoeudNiveauContinuZimposePersist NNCZPersist = new CalcPseudoPermNoeudNiveauContinuZimposePersist(); - NNCZPersist.NomRef = emh.getNom(); - NNCZPersist.Zimpose = noeudNivContZ.getZImpose(); - - listePersistNNCZ.add(NNCZPersist); - trouve = true; - break; - } - } - } - if (!trouve) { - analyser.addError("io.dclm.data.nnc.notfound", CrueHelper.createMapNom(emh.getNom())); - } - - } // Fin if EMHNoeudNiveauContinu - else if (emh instanceof CatEMHBranche) { - - if (emh instanceof EMHBrancheOrifice) { - - final List<DonClimM> listeDoncClimM = emh.getDCLM(); - if (listeDoncClimM == null) { - continue; - } - - boolean trouve = false; - for (final DonClimM dataCliM : listeDoncClimM) { - if (dataCliM instanceof CalcPseudoPermBrancheOrificeManoeuvre) { - - final CalcPseudoPermBrancheOrificeManoeuvre brancheCast = (CalcPseudoPermBrancheOrificeManoeuvre) dataCliM; - if (brancheCast.getNomCalculParent() != null - && brancheCast.getNomCalculParent().equals(calculPersist.Nom)) { - final CalcPseudoPermBrancheOrificeManoeuvrePersist brancheOrPersist = new CalcPseudoPermBrancheOrificeManoeuvrePersist(); - brancheOrPersist.NomRef = emh.getNom(); - brancheOrPersist.SensOuv = brancheCast.getSensOuv(); - brancheOrPersist.Ouv = brancheCast.getOuv(); - - ... [truncated message content] |
From: <had...@us...> - 2009-05-29 18:26:33
|
Revision: 4822 http://fudaa.svn.sourceforge.net/fudaa/?rev=4822&view=rev Author: hadouxad Date: 2009-05-29 18:26:31 +0000 (Fri, 29 May 2009) Log Message: ----------- - IHM modifi?\195?\169es - OPTI g?\195?\169r?\195?\169 - revue des logs fudaa - correction gestion des crue data au niveau des scenarios, modeles et sous modeles Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdPrtCIniModeleBase.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParam.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamBooleen.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamDouble.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamEntier.java trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-opti-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/MockCrueData.java trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.opti.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3-2.opti.xml trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueErrorManager.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoOPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueEnumDico.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOPTIFile.java trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3.opti.xml trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/logocrue.png Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -88,6 +88,7 @@ } public boolean write(final CrueIOResu<CrueData> metier, final File f, final CtuluAnalyze analyzer) { + analyzer.setDesc(f.getName()); final AbstractCrue9Writer writer = createWriter(); writer.setFile(f); final CtuluIOOperationSynthese operation = writer.write(metier); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -2,10 +2,62 @@ import java.util.List; -import org.fudaa.dodico.crue.io.dao.*; +import org.fudaa.dodico.crue.io.dao.CrueConverterDCLM; +import org.fudaa.dodico.crue.io.dao.CrueConverterDCSP; +import org.fudaa.dodico.crue.io.dao.CrueConverterDFRT; +import org.fudaa.dodico.crue.io.dao.CrueConverterDLHY; +import org.fudaa.dodico.crue.io.dao.CrueConverterDPTG; +import org.fudaa.dodico.crue.io.dao.CrueConverterDPTI; +import org.fudaa.dodico.crue.io.dao.CrueConverterDRSO; +import org.fudaa.dodico.crue.io.dao.CrueConverterETU; +import org.fudaa.dodico.crue.io.dao.CrueConverterOCAL; +import org.fudaa.dodico.crue.io.dao.CrueConverterOPTG; +import org.fudaa.dodico.crue.io.dao.CrueConverterOPTI; +import org.fudaa.dodico.crue.io.dao.CrueConverterORES; +import org.fudaa.dodico.crue.io.dao.CrueConverterPCAL; +import org.fudaa.dodico.crue.io.dao.CrueConverterPNUM; +import org.fudaa.dodico.crue.io.dao.CrueDaoDCLM; +import org.fudaa.dodico.crue.io.dao.CrueDaoDCSP; +import org.fudaa.dodico.crue.io.dao.CrueDaoDFRT; +import org.fudaa.dodico.crue.io.dao.CrueDaoDLHY; +import org.fudaa.dodico.crue.io.dao.CrueDaoDPTG; +import org.fudaa.dodico.crue.io.dao.CrueDaoDPTI; +import org.fudaa.dodico.crue.io.dao.CrueDaoDRSO; +import org.fudaa.dodico.crue.io.dao.CrueDaoETU; +import org.fudaa.dodico.crue.io.dao.CrueDaoOCAL; +import org.fudaa.dodico.crue.io.dao.CrueDaoOPTG; +import org.fudaa.dodico.crue.io.dao.CrueDaoOPTI; +import org.fudaa.dodico.crue.io.dao.CrueDaoORES; +import org.fudaa.dodico.crue.io.dao.CrueDaoPCAL; +import org.fudaa.dodico.crue.io.dao.CrueDaoPNUM; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCLM; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDFRT; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDLHY; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTG; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDRSO; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureETU; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOCAL; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTG; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTI; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureORES; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructurePCAL; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructurePNUM; +import org.fudaa.dodico.crue.io.dao.CrueHelper; +import org.fudaa.dodico.crue.io.dao.CrueXmlReaderWriterImpl; import org.fudaa.dodico.crue.metier.CrueData; import org.fudaa.dodico.crue.metier.EMHproject; -import org.fudaa.dodico.crue.metier.emh.*; +import org.fudaa.dodico.crue.metier.emh.AbstractLoi; +import org.fudaa.dodico.crue.metier.emh.DonCLimMScenario; +import org.fudaa.dodico.crue.metier.emh.DonFrt; +import org.fudaa.dodico.crue.metier.emh.EMH; +import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario; +import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase; +import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; +import org.fudaa.dodico.crue.metier.emh.OrdResScenario; +import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario; +import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase; /** * Gere la lecture du format crue 10 Utilise du parsing xml @@ -66,6 +118,10 @@ new CrueXmlReaderWriterImpl<CrueDaoPNUM, ParamNumModeleBase>(CrueHelper.PNUM, new CrueConverterPNUM(), new CrueDaoStructurePNUM())); + private final static Crue10FileFormat<OrdPrtCIniModeleBase> OPTI = new Crue10FileFormat<OrdPrtCIniModeleBase>( + new CrueXmlReaderWriterImpl<CrueDaoOPTI, OrdPrtCIniModeleBase>(CrueHelper.OPTI, new CrueConverterOPTI(), + new CrueDaoStructureOPTI())); + static { Crue10FileFormatFactory.DRSO.setIndependant(true); ETU.setIndependant(true); @@ -150,6 +206,13 @@ } /** + * @return OPTI : objet CrueFileFormat qui contient le DAO et le métier de OPTI + */ + public static Crue10FileFormat<OrdPrtCIniModeleBase> getOPTIFileFormat() { + return OPTI; + } + + /** * @return PCAL : objet CrueFileFormat qui contient le DAO et le métier de PCAL */ public static Crue10FileFormat<ParamCalcScenario> getPCALFileFormat() { Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -0,0 +1,84 @@ +package org.fudaa.dodico.crue.io.dao; + +import java.util.Iterator; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTI.InterpolLineaire; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTI.InterpolSaintVenant; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTI.MethodesInterpolations; +import org.fudaa.dodico.crue.metier.CrueData; +import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase; +import org.fudaa.dodico.crue.metier.emh.ValParam; +import org.fudaa.dodico.crue.metier.emh.ValParamDouble; + +/** + * Creation des objets methodes interpolations + * + * @author Adrien Hadoux + */ +public class CrueConverterOPTI implements CrueConverter<CrueDaoOPTI, OrdPrtCIniModeleBase> { + + public OrdPrtCIniModeleBase convertDaoToMetier(CrueDaoOPTI dao, CrueData dataLinked, CtuluAnalyze analyser) { + /** + * NB Adrien:pour le moment on ne gère qu'un seul élément, liste en backup. + */ + OrdPrtCIniModeleBase metier = new OrdPrtCIniModeleBase(); + if (dao.getListeInterpol() != null) { + for (MethodesInterpolations interpol : dao.getListeInterpol()) { + + // -- ajout de l'enum --// + metier.setMethodeInterpol(interpol.getType()); + + // -- switch sur l'enum --// + switch (interpol.getType()) { + case InterpolLineaire: + // -- on ne fait rien --// + break; + + case InterpolSaintVenant: + // -- on recupere le double --// + metier.addValParam(new ValParamDouble("SeuilDetect", interpol.getSeuilDetect())); + break; + + } + + } + + } + + return metier; + } + + public CrueDaoOPTI convertMetierToDao(OrdPrtCIniModeleBase metier, CtuluAnalyze analyser) { + + CrueDaoOPTI dao = new CrueDaoOPTI(); + + if (metier == null) { return dao; } + + MethodesInterpolations methode = null; + + switch (metier.getMethodeInterpol()) { + case InterpolLineaire: + // -- on ne fait rien --// + methode = new InterpolLineaire(); + + break; + + case InterpolSaintVenant: + methode = new InterpolSaintVenant(0); + // -- on recupere le double --// + for (Iterator it = metier.getIteratorValParam(); it.hasNext();) { + ValParam param = (ValParam) it.next(); + if (param instanceof ValParamDouble) { + methode.setSeuilDetect(((ValParamDouble) param).valeur); + } + } + + break; + + } + dao.MethodeInterpol.add(methode); + + return dao; + } +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoOPTI.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoOPTI.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoOPTI.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -0,0 +1,37 @@ +package org.fudaa.dodico.crue.io.dao; + +import java.util.ArrayList; +import java.util.List; + +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTI.MethodesInterpolations; + +/** + * Représentation persistante du fichier xml OPTI (Fichier des ordres pour le prétraitement des conditions initiales + * (xml)). + * + * @author Adrien Hadoux + */ +@SuppressWarnings("PMD.VariableNamingConventions") +public class CrueDaoOPTI extends AbstractCrueDao { + + public CrueDaoOPTI() { + MethodeInterpol = new ArrayList<MethodesInterpolations>(); + } + + /** + * Choix d'une interpolation. + * + * @NB Adrien: Ici la structure est une liste ce n'est pas nécessaire pour l'état actuel du fichier. car il y a juste + * une interpolation. Mais il vaut mieux anticiper une éventuelle modif du fichier. + */ + public List<MethodesInterpolations> MethodeInterpol; + + public List<MethodesInterpolations> getListeInterpol() { + return MethodeInterpol; + } + + public void setListeInterpol(List<MethodesInterpolations> listeInterpol) { + this.MethodeInterpol = listeInterpol; + } + +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -0,0 +1,84 @@ +package org.fudaa.dodico.crue.io.dao; + +import org.fudaa.ctulu.CtuluAnalyze; + +import com.thoughtworks.xstream.XStream; + +/** + * Structures de CrueDaoOPTI. + * + * @author Adrien Hadoux + */ +@SuppressWarnings("PMD.VariableNamingConventions") +public class CrueDaoStructureOPTI implements CrueDaoStructure { + + public void configureXStream(XStream xstream, CtuluAnalyze analyze) { + xstream.alias(CrueHelper.OPTI, CrueDaoOPTI.class); + // xstream.addImplicitCollection(CrueDaoOPTI.class, "listeInterpol"); + xstream.alias("InterpolLineaire", InterpolLineaire.class); + xstream.alias("InterpolSaintVenant", InterpolSaintVenant.class); + } + + /** + * methode interpolation + * + * @author Adrien Hadoux + */ + public static interface MethodesInterpolations { + /** + * retoourne le type de la methode + * + * @return + */ + public CrueEnumDico.InterpolationsOPTI getType(); + + public double getSeuilDetect(); + + public void setSeuilDetect(double s); + + } + + /** + * methode InterpolLineaire + * + * @author Adrien Hadoux + */ + public static class InterpolLineaire implements MethodesInterpolations { + public CrueEnumDico.InterpolationsOPTI getType() { + return CrueEnumDico.InterpolationsOPTI.InterpolLineaire; + } + + public double getSeuilDetect() { + return 0; + } + + public void setSeuilDetect(double s) {} + } + + /** + * methode InterpolSaintVenant + * + * @author Adrien Hadoux + */ + public static class InterpolSaintVenant implements MethodesInterpolations { + double SeuilDetect; + + public CrueEnumDico.InterpolationsOPTI getType() { + return CrueEnumDico.InterpolationsOPTI.InterpolSaintVenant; + } + + public double getSeuilDetect() { + return SeuilDetect; + } + + public void setSeuilDetect(double s) { + SeuilDetect = s; + } + + public InterpolSaintVenant(double seuilDetect) { + super(); + SeuilDetect = seuilDetect; + } + } + +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueEnumDico.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueEnumDico.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueEnumDico.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -0,0 +1,19 @@ +package org.fudaa.dodico.crue.io.dao; + +/** + * Gère les énumérations des données coté Fudaa + * + * @author Adrien Hadoux + */ +public class CrueEnumDico { + + /** + * Enumeration des methodes d'interpolations pour OPTI. + * + * @author Adrien Hadoux + */ + public static enum InterpolationsOPTI { + InterpolLineaire, InterpolSaintVenant + } + +} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -339,6 +339,7 @@ * @return */ public final boolean writeXML(final M metier, final File f, final CtuluAnalyze analyzer) { + analyzer.setDesc(f.getName()); analyzer.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); final D d = converter.convertMetierToDao(metier, analyzer); if (d != null) { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -16,6 +16,7 @@ import org.fudaa.dodico.crue.metier.emh.DonFrt; import org.fudaa.dodico.crue.metier.emh.EMH; import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario; +import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase; import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; import org.fudaa.dodico.crue.metier.emh.OrdResScenario; import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario; @@ -174,4 +175,14 @@ */ public boolean mergeWithAnotherCrueData(CrueData data); + /** + * @return setter sur les methodes d'interpolation OPTI + */ + public OrdPrtCIniModeleBase getMethodesInterpolation(); + + /** + * @return getter sur les methodes d'interpolation OPTI + */ + public void setMethodesInterpolation(OrdPrtCIniModeleBase methodesInterpolation); + } \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -16,6 +16,7 @@ import org.fudaa.dodico.crue.metier.emh.EvolutionFF; import org.fudaa.dodico.crue.metier.emh.LoiFF; import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario; +import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase; import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; import org.fudaa.dodico.crue.metier.emh.OrdResScenario; import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario; @@ -115,6 +116,11 @@ List<CatEMHSection> sections; /** + * Données OPTI + */ + OrdPrtCIniModeleBase methodesInterpolation; + + /** * Données STO */ STOSequentialReader sto; @@ -435,4 +441,12 @@ this.rptg = rptg; } + public OrdPrtCIniModeleBase getMethodesInterpolation() { + return methodesInterpolation; + } + + public void setMethodesInterpolation(OrdPrtCIniModeleBase methodesInterpolation) { + this.methodesInterpolation = methodesInterpolation; + } + } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -16,6 +16,11 @@ protected String id_; /** + * Les donnees crueData du scenario . + */ + CrueData dataSources; + + /** * La liste des sous modeles associ�s au modele. ETU */ protected EMHModeleEnchainement listeSousModeles_; @@ -69,8 +74,10 @@ * @return */ public static EMHModeleBase findById(final String nomRef, final List<EMHModeleBase> listeFiles) { - if (listeFiles != null) for (final EMHModeleBase f : listeFiles) { - if (f.id_.equals(nomRef)) return f; + if (listeFiles != null) { + for (final EMHModeleBase f : listeFiles) { + if (f.id_.equals(nomRef)) { return f; } + } } return null; } @@ -82,7 +89,9 @@ * @return */ public boolean addFichierDonneesToModele(final FichierCrue fichier) { - if (listeFichiersModele_ == null) listeFichiersModele_ = new ArrayList<FichierCrue>(); + if (listeFichiersModele_ == null) { + listeFichiersModele_ = new ArrayList<FichierCrue>(); + } return listeFichiersModele_.add(fichier); } @@ -93,7 +102,9 @@ * @return */ public boolean addSousModeleDonneesToModele(final EMHModeleBase sousModele) { - if (listeSousModeles_ == null) listeSousModeles_ = new EMHModeleEnchainement(); + if (listeSousModeles_ == null) { + listeSousModeles_ = new EMHModeleEnchainement(); + } return listeSousModeles_.ajouteModele(sousModele); } @@ -105,4 +116,12 @@ this.listeFichiersModele_ = listeFichiersCrue; } + public CrueData getDataSources() { + return dataSources; + } + + public void setDataSources(CrueData dataSources) { + this.dataSources = dataSources; + } + } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -17,6 +17,11 @@ EMHModeleEnchainement gestionModele_; /** + * Les donnees crueData du scenario . + */ + CrueData dataSources; + + /** * la liste des runs associes au sc�nraio. */ List<EMHRun> listeRuns_; @@ -177,4 +182,12 @@ public void setListeRuns(final List<EMHRun> listeRuns) { this.listeRuns_ = listeRuns; } + + public CrueData getDataSources() { + return dataSources; + } + + public void setDataSources(CrueData dataSources) { + this.dataSources = dataSources; + } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -10,7 +10,7 @@ public class EMHproject { /** - * Infos du projet, contient la base des fichiers de donn\xE9es. + * Infos du projet, contient la base des fichiers de donn�es. */ EMHProjectInfos baseRessourcesInfos_; @@ -20,7 +20,7 @@ EMHScenario scenarioCourant; /** - * Base des sc\xE9narios disponible pour tout le projet. + * Base des sc�narios disponible pour tout le projet. */ List<EMHScenario> baseScenarios_; @@ -30,7 +30,7 @@ EMHModeleEnchainement baseModeles_; /** - * base des sous modeles du projet (ces sous modeles sont r\xE9f\xE9renc\xE9s dans les modeles qui les utilisent). + * base des sous modeles du projet (ces sous modeles sont r�f�renc�s dans les modeles qui les utilisent). */ EMHModeleEnchainement baseSousModeles_; @@ -70,6 +70,19 @@ return scenarioCourant; } + /** + * Methode tres importante; c'est elle qui retourne les crue data générales du scénario courant. En effet, ces crue + * data sont globale au scenario, elles contiennet donc la concaténation des crue data de chaque entité fille: + * modeles, sous modeles. + * + * @author Adrien hadoux + * @return + */ + public CrueData getCrueDataFromScenarioCourant() { + if (getScenarioCourant() != null) { return getScenarioCourant().getDataSources(); } + return null; + } + public void setScenarioCourant(final EMHScenario scenarioCourant) { this.scenarioCourant = scenarioCourant; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -4,8 +4,8 @@ import java.util.List; /** - * Gere les fichiers Crue d\xE9finis dans le fichier xml ETU. un fichier est d\xE9fini par: son id unique son type le chemin - * vers ce fichier. Sert de base de recherche pour lancer \xE0 la demande les diff\xE9rents sc\xE9narios. + * Gere les fichiers Crue d�finis dans le fichier xml ETU. un fichier est d�fini par: son id unique son type le chemin + * vers ce fichier. Sert de base de recherche pour lancer � la demande les diff�rents sc�narios. * * @author Adrien Hadoux */ @@ -34,7 +34,7 @@ public File getFichier() { if (path_ != null) { final File fichier = new File(path_); - if (fichier.exists()) return fichier; + /* if (fichier.exists()) */return fichier; } return null; } @@ -47,8 +47,10 @@ * @return */ public static FichierCrue findById(final String nomRef, final List<FichierCrue> listeFiles) { - if (listeFiles != null) for (final FichierCrue f : listeFiles) { - if (f.id_.equals(nomRef)) return f; + if (listeFiles != null) { + for (final FichierCrue f : listeFiles) { + if (f.id_.equals(nomRef)) { return f; } + } } return null; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdPrtCIniModeleBase.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdPrtCIniModeleBase.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdPrtCIniModeleBase.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -6,10 +6,12 @@ package org.fudaa.dodico.crue.metier.emh; +import org.fudaa.dodico.crue.io.dao.CrueEnumDico; + /** @pdOid a637504e-9e1b-4a87-8327-92ea3b3fa1ea */ public class OrdPrtCIniModeleBase implements InfosEMH { /** @pdOid 404a2a65-177d-47c5-8a9b-37ce33aae566 */ - public byte methodeInterpol; + public CrueEnumDico.InterpolationsOPTI methodeInterpol; /** * @pdRoleInfo migr=no name=ValParam assc=association112 coll=java.util.Collection impl=java.util.HashSet mult=0..* @@ -78,4 +80,12 @@ } } + public CrueEnumDico.InterpolationsOPTI getMethodeInterpol() { + return methodeInterpol; + } + + public void setMethodeInterpol(CrueEnumDico.InterpolationsOPTI methodeInterpol) { + this.methodeInterpol = methodeInterpol; + } + } \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParam.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParam.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParam.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -11,4 +11,9 @@ /** @pdOid 6f0ce4aa-3299-48c8-b1d1-8f9126593468 */ public String nom; + public ValParam(String nom) { + super(); + this.nom = nom; + } + } \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamBooleen.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamBooleen.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamBooleen.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -11,4 +11,9 @@ /** @pdOid 828ac7ca-131c-4d6f-94bb-f753f015ab7c */ public boolean valeur; + public ValParamBooleen(String nom, boolean valeur) { + super(nom); + this.valeur = valeur; + } + } \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamDouble.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamDouble.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamDouble.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -11,4 +11,9 @@ /** @pdOid 03367cd0-b53c-4e0a-97d1-abfc61d5d93e */ public Double valeur; + public ValParamDouble(String nom, Double valeur) { + super(nom); + this.valeur = valeur; + } + } \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamEntier.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamEntier.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ValParamEntier.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -11,4 +11,9 @@ /** @pdOid 6de589b5-7fb1-47f9-9a1e-4b8755392752 */ public int valeur; + public ValParamEntier(String nom, int valeur) { + super(nom); + this.valeur = valeur; + } + } \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-opti-1.0.0.xsd =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-opti-1.0.0.xsd 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-opti-1.0.0.xsd 2009-05-29 18:26:31 UTC (rev 4822) @@ -12,24 +12,29 @@ </xs:documentation> </xs:annotation> + <xs:complexType name="TypeInterpolSaintVenant"> + <xs:sequence> + <xs:element name="SeuilDetect" type="xs:double" /> + </xs:sequence> + </xs:complexType> + - <xs:element name="OPTI"> + + <xs:complexType name="TypeMethodeInterpol"> + <xs:choice> + <xs:element name="InterpolLineaire" type="TypeEmpty" minOccurs="0" /> + <xs:element name="InterpolSaintVenant" type="TypeInterpolSaintVenant" minOccurs="0" /> + </xs:choice> + </xs:complexType> + +<xs:element name="OPTI"> <xs:complexType> - <xs:sequence> - <xs:element ref="Commentaire" minOccurs="0" /> - <xs:element name="MethodeInterpol" minOccurs="0"> - <xs:complexType> - <xs:choice> - <xs:element name="InterpolLineaire" type="TypeEmpty" - minOccurs="0" /> - </xs:choice> - </xs:complexType> - </xs:element> - <xs:element name="CotesAuxSections" type="TypeEmpty" - minOccurs="0" /> - </xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="Commentaire" /> + <xs:element name="MethodeInterpol" type="TypeMethodeInterpol" /> + </xs:choice> </xs:complexType> + </xs:element> - </xs:schema> \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/MockCrueData.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/MockCrueData.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/MockCrueData.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -22,6 +22,7 @@ import org.fudaa.dodico.crue.metier.emh.EMHCasierMNT; import org.fudaa.dodico.crue.metier.emh.EMHNoeudNiveauContinu; import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario; +import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase; import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; import org.fudaa.dodico.crue.metier.emh.OrdResScenario; import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario; @@ -193,4 +194,14 @@ public void setRptg(final List<ResPrtGeo> rptg) {} + public OrdPrtCIniModeleBase getMethodesInterpolation() { + // FIXME Auto-generated method stub + return null; + } + + public void setMethodesInterpolation(OrdPrtCIniModeleBase methodesInterpolation) { + // FIXME Auto-generated method stub + + } + } Added: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOPTIFile.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOPTIFile.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOPTIFile.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -0,0 +1,60 @@ +package org.fudaa.dodico.crue.io; + +import java.io.File; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase; + +/** + * test unitaires pour les opti. + * + * @author Adrien Hadoux + */ +public class TestCrueOPTIFile extends AbstractIOTestCase { + + /** + * + */ + protected static final String FICHIER_TEST_MODELE3_OPTI_XML = "/fichierTest/Modele3.opti.xml"; + + /** + * + */ + public TestCrueOPTIFile() { + super(Crue10FileFormatFactory.getOPTIFileFormat(), FICHIER_TEST_MODELE3_OPTI_XML); + } + + public void testLecture() { + + final OrdPrtCIniModeleBase data = readModele3(); + testDataModele3(data); + + } + + public static OrdPrtCIniModeleBase readModele3() { + final CtuluAnalyze analyzer = new CtuluAnalyze(); + final OrdPrtCIniModeleBase data = Crue10FileFormatFactory.getOPTIFileFormat().read(FICHIER_TEST_MODELE3_OPTI_XML, + analyzer, null); + analyzer.printResume(); + return data; + } + + private void testDataModele3(final OrdPrtCIniModeleBase data) { + assertNotNull(data); + + } + + public void testEcriture() { + final CtuluAnalyze analyzer = new CtuluAnalyze(); + final File f = createTempFile(); + final boolean res = Crue10FileFormatFactory.getOPTIFileFormat().write(readModele3(), f, analyzer); + // System.out.println(f); + analyzer.printResume(); + assertFalse(analyzer.containsErrors()); + final OrdPrtCIniModeleBase read = Crue10FileFormatFactory.getOPTIFileFormat().read(FICHIER_TEST_MODELE3_OPTI_XML, + analyzer, null); + testDataModele3(read); + + } + +} Modified: trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.opti.xml =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.opti.xml 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.opti.xml 2009-05-29 18:26:31 UTC (rev 4822) @@ -1,18 +1,14 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.0" encoding="UTF-8"?> <OPTI xmlns="http://www.fudaa.fr/xsd/crue" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.fudaa.fr/xsd/crue http://www.fudaa.fr/xsd/crue/opti-1.0.0.xsd"> - <!-- - Le fichier OPTI rassemble les ordres de prétraitement des conditions - initiales à appliquer sur un modèle CrueX. Son périmètre est le modèle - --> - <Commentaire>Commentaire sur le modèle</Commentaire> + <!-- Le fichier OPTI rassemble les ordres de prétraitement des conditions initiales à appliquer sur un modèle CrueX. Son périmètre est le modèle --> + <Commentaire>Commentaire sur le modèle</Commentaire> - <MethodeInterpol> - <InterpolLineaire /> - <!-- - ou une interpolation des niveaux par calcul de la courbe de remous en - permanent (iLE=2) <InterpolSaintVenant> - <SeuilDetect>0.01</SeuilDetect> </InterpolSaintVenant> - --> - </MethodeInterpol> + <MethodeInterpol> + <!-- <InterpolLineaire/> --> + <!-- ou, si DH.iLE=2, une interpolation des cotes par calcul de la courbe de remous en permanent --> + <InterpolSaintVenant> + <SeuilDetect>0.01</SeuilDetect> + </InterpolSaintVenant> + </MethodeInterpol> </OPTI> \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3-2.opti.xml =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3-2.opti.xml 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3-2.opti.xml 2009-05-29 18:26:31 UTC (rev 4822) @@ -1,15 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> -<OPTI xmlns="http://www.fudaa.fr/xsd/crue" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.fudaa.fr/xsd/crue http://www.fudaa.fr/xsd/crue/opti-1.0.xsd"> - <!-- - Le fichier OPTI rassemble les ordres de prétraitement des conditions - initiales à appliquer sur un modèle CrueX. Son périmètre est le modèle - --> - <!-- - Révision 0 le 24/03/2009 par PBa : écriture du fichier à la main - --> - <VersionCrue>0.0</VersionCrue> <!-- Version du moteur Crue10 minimale requise --> - <Commentaire>Commentaire sur le modèle</Commentaire> +<OPTI xmlns="http://www.fudaa.fr/xsd/crue" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.fudaa.fr/xsd/crue http://www.fudaa.fr/xsd/crue/opti-1.0.xsd"> + <!-- Le fichier OPTI rassemble les ordres de prétraitement des conditions initiales à appliquer sur un modèle CrueX. Son périmètre est le modèle --> + <Commentaire>Commentaire sur le modèle</Commentaire> - <CotesAuxSections /> + <CotesAuxSections/> </OPTI> \ No newline at end of file Added: trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3.opti.xml =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3.opti.xml (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichiersTestCorriges/Modele3.opti.xml 2009-05-29 18:26:31 UTC (rev 4822) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<OPTI xmlns="http://www.fudaa.fr/xsd/crue" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.fudaa.fr/xsd/crue http://www.fudaa.fr/xsd/crue/opti-1.0.xsd"> + <!-- Le fichier OPTI rassemble les ordres de prétraitement des conditions initiales à appliquer sur un modèle CrueX. Son périmètre est le modèle --> + <Commentaire>Commentaire sur le modèle</Commentaire> + + <MethodeInterpol> + <InterpolLineaire/> + <!-- ou, si DH.iLE=2, une interpolation des cotes par calcul de la courbe de remous en permanent + <InterpolSaintVenant> + <SeuilDetect>0.01</SeuilDetect> + </InterpolSaintVenant> --> + </MethodeInterpol> +</OPTI> \ No newline at end of file Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -336,7 +336,8 @@ * */ public void addEMHViewFille() { - if (crueProjet_.getProject().getScenarioCourant() == null || crueProjet_.getDataSources() == null) { + if (crueProjet_.getProject().getScenarioCourant() == null + || crueProjet_.getProject().getScenarioCourant().getDataSources() == null) { message("error.scenario.empty"); return; @@ -396,6 +397,7 @@ else if (action.equals("ENREGISTRERSCENARIOS")) { + crueProjet_.getManagerError().clear(); ScenarioSaver saver = new ScenarioSaver(crueProjet_.getProject().getScenarioCourant(), crueProjet_); saver.saveWithScenarioType(); crueProjet_.getManagerError().showDialog(this, FCrueResource.getS("Enregistrement")); @@ -422,7 +424,7 @@ EMHproject res = crueProjet_.readProject(f); crueProjet_.setProject(res); // -- reinitialisation des sources de données --// - crueProjet_.setDataSources(null); + // crueProjet_.setDataSources(null); } } @@ -430,7 +432,7 @@ } else if (action.equals("FERMERETUDE")) { if (question(FCrueResource.getS("Confirmation"), FCrueResource.getS("Voulez-vous fermet l'étude courante?"))) { crueProjet_.setProject(null); - crueProjet_.setDataSources(null); + // crueProjet_.setDataSources(null); } } else if (action.equals("GESTIONETUDE")) { addEtudeManagerFille(); Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -8,6 +8,7 @@ import java.io.File; import java.io.IOException; import java.lang.reflect.InvocationTargetException; +import java.net.URL; import javax.swing.JDialog; import javax.swing.JOptionPane; @@ -15,19 +16,25 @@ import javax.swing.SwingUtilities; import javax.swing.UIManager; -import com.memoire.bu.*; -import com.memoire.fu.FuLib; -import com.memoire.fu.FuLog; - import org.fudaa.ctulu.gui.CtuluTaskOperationGUI; import org.fudaa.dodico.crue.io.CrueFileFormatManager; -import org.fudaa.ebli.ressource.EbliResource; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.commun.impl.Fudaa; import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; import org.fudaa.fudaa.crue.common.CrueCommomImplementation; import org.fudaa.fudaa.ressource.FudaaResource; +import com.memoire.bu.BuApplication; +import com.memoire.bu.BuCommonInterface; +import com.memoire.bu.BuIcon; +import com.memoire.bu.BuInformationsSoftware; +import com.memoire.bu.BuLib; +import com.memoire.bu.BuPreferences; +import com.memoire.bu.BuRegistry; +import com.memoire.bu.BuResource; +import com.memoire.fu.FuLib; +import com.memoire.fu.FuLog; + /** * Launcher de crue. * @@ -79,11 +86,14 @@ FuLib.setSystemProperty("lnf.menu.needed", "false"); infoCrue_ = new BuInformationsSoftware(); - infoCrue_.banner = EbliResource.EBLI.getIcon(""); - infoCrue_.logo = EbliResource.EBLI.getIcon(""); - infoCrue_.name = "Crue"; + + URL pathLogo = CrueLauncher.class.getResource("logocrue.png"); + + infoCrue_.banner = new BuIcon(pathLogo); + // infoCrue_.logo = new BuIcon(pathLogo); + infoCrue_.name = "Fudaa-Crue"; infoCrue_.version = "0.1"; - infoCrue_.date = "01-mars -2009"; + infoCrue_.date = "01-mai -2009"; infoCrue_.rights = ""; infoCrue_.contact = "a.h...@ge..."; infoCrue_.license = "GPL2"; @@ -91,10 +101,10 @@ infoCrue_.http = ""; infoCrue_.update = ""; infoCrue_.man = ""; - infoCrue_.authors = new String[] { "Fr�d�ric Deniger", "Adrien Hadoux" }; + infoCrue_.authors = new String[] { "Genesis" }; infoCrue_.contributors = new String[] { "Equipes Dodico, Ebli et Fudaa" }; - infoCrue_.documentors = new String[] { "Fr�d�ric Deniger", "Adrien Hadoux" }; - infoCrue_.testers = new String[] { "Fr�d�ric Deniger", "Adrien Hadoux" }; + infoCrue_.documentors = new String[] { "" }; + infoCrue_.testers = new String[] { " " }; // Attention: bien respecter cette ligne tres utile pour javawebstart infoCrue_.man = "http://fudaa.fr/crue/doc/html/"; Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -97,6 +97,7 @@ public CrueSupervisorImplementation() { super(); + } @Override Added: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/logocrue.png =================================================================== (Binary files differ) Property changes on: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/logocrue.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -5,7 +5,6 @@ import java.util.Observer; import org.fudaa.dodico.crue.io.Crue10FileFormatFactory; -import org.fudaa.dodico.crue.metier.CrueData; import org.fudaa.dodico.crue.metier.EMHproject; import org.fudaa.fudaa.crue.common.CrueCommomImplementation; import org.fudaa.fudaa.crue.common.FCrueResource; @@ -30,11 +29,6 @@ final CrueErrorManager managerError; /** - * Les donnees crueData chargees du scenario courant. - */ - CrueData dataSources; - - /** * Classe de l'observable Crue. * * @author Adrien Hadoux @@ -135,7 +129,7 @@ ScenarioLoader algo = new ScenarioLoader(this, projet.getScenarioCourant()); // -- chargement du projet --// - dataSources = algo.compute(); + algo.compute(); } } @@ -218,11 +212,4 @@ return fichierEtu_; } - public CrueData getDataSources() { - return dataSources; - } - - public void setDataSources(CrueData dataSources) { - this.dataSources = dataSources; - } } Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java 2009-05-29 17:44:31 UTC (rev 4821) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java 2009-05-29 18:26:31 UTC (rev 4822) @@ -12,7 +12,14 @@ import org.fudaa.dodico.crue.metier.EMHModeleBase; import org.fudaa.dodico.crue.metier.EMHScenario; import org.fudaa.dodico.crue.metier.FichierCrue; -import org.fudaa.dodico.crue.metier.emh.*; +import org.fudaa.dodico.crue.metier.emh.AbstractLoi; +import org.fudaa.dodico.crue.metier.emh.DonCLimMScenario; +import org.fudaa.dodico.crue.metier.emh.DonFrt; +import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario; +import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; +import org.fudaa.dodico.crue.metier.emh.OrdResScenario; +import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario; +import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase; import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.fudaa.crue.common.CrueCommomImplementation; import org.fudaa.fudaa.crue.common.FCrueResource; @@ -69,9 +76,9 @@ + " " + scenario.getId() + "? Il deviendra le scénario courant.")) { if (scenario != null) { ScenarioLoader algo = new ScenarioLoader(projet, scenario); - operationRes = algo.compute(); + algo.compute(); - projet.setDataSources(operationRes); + // projet.setDataSources(operationRes); // projet.getImpl().message(FCrueResource.getS("")); } @@ -100,7 +107,7 @@ * * @return */ - public CrueData compute() { + public void compute() { projet.managerError.clear(); // -- mise en place du scenario courant --// projet.getProject().setScenarioCourant(scenario); @@ -110,14 +117,14 @@ String type = scenario.getInfosVersions().getType().toUpperCase(); if (type.contains("9")) { - return computeCrue9(); + computeCrue9(); } else { - return computeCrue10(); + computeCrue10(); } } else { projet.managerError.getLastAnalyser().addError("io.etu.typeNotDefined"); - return null; + } } @@ -127,7 +134,7 @@ * * @return */ - public CrueData computeCrue9() { + public void computeCrue9() { CrueData res = new CrueDataImpl(); CtuluAnalyze analyzer = projet.managerError.getNewAnalyser(); analyzer.setDesc(FCrueResource.getS("Fichiers existant dans le scenario") + " " + scenario.getId()); @@ -137,10 +144,10 @@ // -- on charge les données DRSO du modele --// res = ordonnanceChargementCrue9(scenario, analyzer); - + scenario.setDataSources(res); } projet.managerError.showDialog(projet.getImpl(), FCrueResource.getS("Résultats du Chargement scénario")); - return res; + // return res; } /** @@ -148,8 +155,8 @@ * * @return */ - public CrueData computeCrue10() { - CrueData res = null; + public void computeCrue10() { + CtuluAnalyze analyzer = projet.managerError.getNewAnalyser(); analyzer.setDesc(FCrueResource.getS("Fichiers existant dans le scenario") + " " + scenario.getId()); if (scenario.getRunCourant() != null) { @@ -157,14 +164,14 @@ // -- on charge les données DRSO du modele --// - res = ordonnanceChargementCrue10(scenario, analyzer); + ordonnanceChargementCrue10(scenario, analyzer); } else { analyzer.addError("compute.error.noCurrentRun"); } projet.managerError.showDialog(projet.getImpl(), FCrueResource.getS("Résultats du Chargement scénario")); - return res; + } /** @@ -173,213 +180,220 @@ * @param scenario * @return */ - private CrueData ordonnanceChargementCrue10(EMHScenario scenario, CtuluAnalyze analyzer) { - CrueData res = new CrueDataImpl(); - - // -- recherche des fichiers sous modeles --// - if (scenario.getGestionModele() == null || scenario.getGestionModele().getListeModeles() == null - || scenario.getGestionModele().getListeModeles().size() == 00) { - analyzer.addError("compute.error.noCurrentModeles"); - return null; - } - for (EMHModeleBase modele : scenario.getGestionModele().getListeModeles()) { - if (modele.getListeSousModeles() == null || modele.getListeSousModeles().getListeModeles() == null - || modele.getListeSousModeles().getListeModeles().size() == 0) { - analyzer.addError("compute.error.noCurrentSousModeles"); - return null; + private void ordonnanceChargementCrue10(EMHScenario scenario, CtuluAnalyze analyzer) { + // -- data globale qui va contenir l'ensemble de totues les datas des scenarios,modeles,sous modeles,...--// + CrueData dataScenarioGlobale = new CrueDataImpl(); + try { + // -- recherche des fichiers sous modeles --// + if (scenario.getGestionModele() == null || scenario.getGestionModele().getListeModeles() == null + || scenario.getGestionModele().getListeModeles().size() == 00) { + analyzer.addError("compute.error.noCurrentModeles"); + return; } - // -- on charge en memoire le contenu des sous modeles --// + for (EMHModeleBase modele : scenario.getGestionModele().getListeModeles()) { + if (modele.getListeSousModeles() == null || modele.getListeSousModeles().getListeModeles() == null + || modele.getListeSousModeles().getListeModeles().size() == 0) { + analyzer.addError("compute.error.noCurrentSousModeles"); + return; + } - for (EMHModeleBase sousModele : modele.getListeSousModeles().getListeModeles()) { - // -- on charge le cinquor - // --Une liste fixe de fichiers de niveau sous-modèle : DRSO, DPTG, DFRT, DCSP - if (sousModele.getListeFichiersCrue() == null || sousModele.getListeFichiersCrue().size() >= 4) { + // --Creation d'un crue data model global --// + CrueData dataModeleGlobale = new CrueDataImpl(); - FichierCrue fichierDrso = sousModele.getListeFichiersCrue().get(0); - FichierCrue fichierDptg = sousModele.getListeFichiersCrue().get(1); - FichierCrue fichierDfrt = sousModele.getListeFichiersCrue().get(2); - FichierCrue fichierDcsp = sousModele.getListeFichiersCrue().get(3); + // -- on charge en memoire le contenu des sous modeles --// - if (!fichierDrso.getFichier().exists()) { - analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDrso.getFichier() - .getAbsolutePath())); - return null; - } - if (!fichierDptg.getFichier().exists()) { - analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDptg.getFichier() - .getAbsolutePath())); - return null; - } - if (!fichierDfrt.getFichier().exists()) { - analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDfrt.getFichier() - .getAbsolutePath())); - return null; - } - if (!fichierDcsp.getFichier().exists()) { - analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDcsp.getFichier() - .getAbsolutePath())); - return null; - } + for (EMHModeleBase sousModele : modele.getListeSousModeles().getListeModeles()) { + // -- on charge le cinquor + // --Une liste fixe de fichiers de niveau sous-modèle : DRSO, DPTG, DFRT, DCSP + if (sousModele.getListeFichiersCrue() == null || sousModele.getListeFichiersCrue().size() >= 4) { - CrueData resVersion = Crue10FileFormatFactory.getDRSOFileFormat().read(fichierDrso.getFichier(), analyzer, - null); + FichierCrue fichierDrso = sousModele.getListeFichiersCrue().get(0); + FichierCrue fichierDptg = sousModele.getListeFichiersCrue().get(1); + FichierCrue fichierDfrt = sousModele.getListeFichiersCrue().get(2); + FichierCrue fichierDcsp = sousModele.getListeFichiersCrue().get(3); - if (resVersion == null) { - analyzer.addError("compute.error.drsoFailed", CtuluAnalyze.createMap("fichier", fichierDrso.getFichier() - .getAbsolutePath())); - return null; - } + if (!fichierDrso.getFichier().exists()) { + analyzer.addError("compute.error.fileNotExist", fichierDrso.getFichier().getAbsolutePath()); + return; + } + if (!fichierDptg.getFichier().exists()) { + analyzer.addError("compute.error.fileNotExist", fichierDptg.getFichier().getAbsolutePath()); + return; + } + if (!fichierDfrt.getFichier().exists()) { + analyzer.addError("compute.error.fileNotExist", fichierDfrt.getFichier().getAbsolutePath()); + return; + } + if (!fichierDcsp.getFichier().exists()) { + analyzer.addError("compute.error.fileNotExist", fichierDcsp.getFichier().getAbsolutePath()); + return; + } + // -- data reservée pour le sous modele --// + CrueData cruedataSousModele = Crue10FileFormatFactory.getDRSOFileFormat().read(fichierDrso.getFichier(), + analyzer, null); - // -- lecture DFRT avant DPTG--// - final List<DonFrt> jeuDonnees = Crue10FileFormatFactory.getDFRTFileFormat().read(fichierDfrt.getFichier(), - projet.getManagerError().getNewAnalyser(), null); + if (cruedataSousModele == null) { + analyzer.addError("compute.error.drsoFailed", fichierDrso.getFichier().getAbsolutePath()); + return; + } - resVersion.setFrottements(jeuDonnees); + // -- lecture DFRT avant DPTG--// + final List<DonFrt> jeuDonnees = Crue10FileFormatFactory.getDFRTFileFormat().read(fichierDfrt.getFichier(), + projet.getManagerError().getNewAnalyser(), null); - // -- lecture DPTG a besoin de DFRT--// - Crue10FileFormatFactory.getDPTGFileFormat().read(fichierDptg.getFichier(), - projet.getManagerError().getNewAnalyser(), resVersion); + cruedataSousModele.setFrottements(jeuDonnees); - // -- lecture DCSP --// - Crue10FileFormatFactory.getDCSPFileFormat().read(fichierDcsp.getFichier(), - projet.getManagerError().getNewAnalyser(), resVersion); + // -- lecture DPTG a besoin de DFRT--// + Crue10FileFormatFactory.getDPTGFileFormat().read(fichierDptg.getFichier(), + projet.getManagerError().getNewAnalyser(), cruedataSousModele); - // -- on fusionne les donnes res au res totaux --// - res.mergeWithAnotherCrueData(resVersion); + // -- lecture DCSP --// + Crue10FileFormatFactory.getDCSPFileFormat().read(fichierDcsp.getFichier(), + projet.getManagerError().getNewAnalyser(), cruedataSousModele); - } else { - analyzer.addError("compute.error.notAnySousModelesFiles"); - return null; + // -- on ajoute les données crueData propre au sous modele --// + sousModele.setDataSources(cruedataSousModele); + + // -- on merge les data du sous modele avec les datas globales pour les liens --// + dataModeleGlobale.mergeWithAnotherCrueData(cruedataSousModele); + + } else { + analyzer.addError("compute.error.notAnySousModelesFiles"); + return; + } + } - } + // -- on charge les fichiers de niveau modele--// + // Une liste fixe de fichiers de niveau modèle : (OPTR), OPTG, OPTI, PNUM, DPTI - // -- on charge les fichiers de niveau modele--// - // Une liste fixe de fichiers de niveau modèle : (OPTR), OPTG, OPTI, PNUM, DPTI + if (modele.getListeFichiersCrue() == null || modele.getListeFichiersCrue().size() < 5) { + analyzer.addError("compute.error.notAnyModelesFiles"); + return; + } + // OPTR N'existe pas tant que le prétraitement réseau n'est pas opérationnel + FichierCrue fichierOPTR = modele.getListeFichiersCrue().get(0); + FichierCrue fichierOPTG = modele.getListeFichiersCrue().get(1); + FichierCrue fichierOPTI = modele.getListeFichiersCrue().get(2); + FichierCrue fichierPNUM = modele.getListeFichiersCrue().get(3); + FichierCrue fichierDPTI = modele.getListeFichiersCrue().get(4); - if (modele.getListeFichiersCrue() == null || modele.getListeFichiersCrue().size() < 5) { - analyzer.addError("compute.error.notAnyModelesFiles"); - return null; - } - // OPTR N'existe pas tant que le prétraitement réseau n'est pas opérationnel - FichierCrue fichierOPTR = modele.getListeFichiersCrue().get(0); - FichierCrue fichierOPTG = modele.getListeFichiersCrue().get(1); - FichierCrue fichierOPTI = modele.getListeFichiersCrue().get(2); - FichierCrue fichierPNUM ... [truncated message content] |
From: <had...@us...> - 2009-05-31 07:23:06
|
Revision: 4827 http://fudaa.svn.sourceforge.net/fudaa/?rev=4827&view=rev Author: hadouxad Date: 2009-05-31 07:23:04 +0000 (Sun, 31 May 2009) Log Message: ----------- 1. visiblement le commite sur la lisgne if (!isValide(url, analyser)) { return null; } n'a pas fonctionn?\195?\169, je la recommitte. 2. j'avais oubli?\195?\169 d'enlever de la commomImplementation: a chaque fois qu'on clique sur gestion scenario cela creait une nouvelle ihm (pour le debug sans redemarrer l'appli) le prob c'est que la ils pourront ouvrir plusieurs fois une fenetre gestion scenario(admettons 2 une A et une B) et eventuellement raler si le scenario courant ne se met pas a jour sur l'autre ihm B a partir de modifications port?\195?\169es sur la A. 3. j'ai rajout?\195?\169 ?\195?\169galement le test de validation connexit?\195?\169 cote drso et un analyzer qui porte comme titre validation connexiit?\195?\169. Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java 2009-05-29 20:37:50 UTC (rev 4826) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java 2009-05-31 07:23:04 UTC (rev 4827) @@ -242,7 +242,7 @@ analyser.addError("file.url.null.error"); return null; } - // TODO a remetter if (!isValide(url, analyser)) { return null; } + if (!isValide(url, analyser)) { return null; } InputStream in = null; D newData = null; try { Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-29 20:37:50 UTC (rev 4826) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-31 07:23:04 UTC (rev 4827) @@ -327,7 +327,7 @@ scenarioFille = new CrueFilleScenarioManager(crueProjet_); } // TODO a remplacer par scenarioFille (creer nouveau pour debugagge rapide) - this.addInternalFrame(new CrueFilleScenarioManager(crueProjet_)); + this.addInternalFrame(scenarioFille); } public CrueFilleEMH emhViewFille = null; @@ -369,7 +369,7 @@ modeleFille = new CrueFicheModeleFille(crueProjet_); } // TODO a remplacer par modeleFille (creer nouveau pour debugagge rapide) - this.addInternalFrame(new CrueFicheModeleFille(crueProjet_)); + this.addInternalFrame(modeleFille); } public CrueFilleInfosGenerales etudeFille = null; Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java 2009-05-29 20:37:50 UTC (rev 4826) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java 2009-05-31 07:23:04 UTC (rev 4827) @@ -20,6 +20,7 @@ import org.fudaa.dodico.crue.metier.emh.OrdResScenario; import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario; import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase; +import org.fudaa.dodico.crue.validation.EMHValidatorModele; import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.fudaa.crue.common.CrueCommomImplementation; import org.fudaa.fudaa.crue.common.FCrueResource; @@ -237,6 +238,13 @@ return; } + // -- Verifier la connexité du graphe --// + CtuluAnalyze analyseValidationCOnnexite = projet.getManagerError().getNewAnalyser(); + analyseValidationCOnnexite.setDesc("Validation Connexité"); + final boolean res = EMHValidatorModele.validateConnexite(cruedataSousModele, analyseValidationCOnnexite); + + if (!res) { return; } + // -- lecture DFRT avant DPTG--// final List<DonFrt> jeuDonnees = Crue10FileFormatFactory.getDFRTFileFormat().read(fichierDfrt.getFichier(), projet.getManagerError().getNewAnalyser(), null); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2009-06-01 22:32:13
|
Revision: 4828 http://fudaa.svn.sourceforge.net/fudaa/?rev=4828&view=rev Author: deniger Date: 2009-06-01 22:32:04 +0000 (Mon, 01 Jun 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/.classpath trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluDefaultLogFormatter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueHelper.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/ErrorHandlerDefault.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/SingleConverterPointFF.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/SingleConverterPtProfil.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/FCBSequentialReader.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/PtEvolutionFF.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/PtProfil.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/caroleMessages.properties trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/messages.properties trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/common-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/etu-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/AbstractIOTestCase.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueFCB.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueApplicationManager.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueExplorer.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueErrorManager.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractSingleConverterPoint.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/metier/emh/Point2D.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidationFichierScenario.java trunk/soft/fudaa-crue/planning/Thumbs.db Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/PtEvolutionDF.java Modified: trunk/soft/fudaa-crue/dodico/.classpath =================================================================== --- trunk/soft/fudaa-crue/dodico/.classpath 2009-05-31 07:23:04 UTC (rev 4827) +++ trunk/soft/fudaa-crue/dodico/.classpath 2009-06-01 22:32:04 UTC (rev 4828) @@ -10,8 +10,8 @@ <classpathentry exported="true" kind="lib" path="lib/trove.jar"/> <classpathentry exported="true" kind="lib" path="lib/xstream-1.3.jar" sourcepath="lib/xstream-distribution-1.3.1-src.zip"/> <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="lib" path="lib/commons-lang-2.4.jar" sourcepath="lib/commons-lang-2.4-sources.jar"/> - <classpathentry kind="lib" path="lib/commons-beanutils-core-1.8.0.jar" sourcepath="lib/commons-beanutils-1.8.0-sources.jar"/> - <classpathentry kind="lib" path="lib/commons-collections-3.2.1.jar" sourcepath="lib/commons-collections-3.2.1-sources.jar"/> + <classpathentry exported="true" kind="lib" path="lib/commons-lang-2.4.jar" sourcepath="lib/commons-lang-2.4-sources.jar"/> + <classpathentry exported="true" kind="lib" path="lib/commons-beanutils-core-1.8.0.jar" sourcepath="lib/commons-beanutils-1.8.0-sources.jar"/> + <classpathentry exported="true" kind="lib" path="lib/commons-collections-3.2.1.jar" sourcepath="lib/commons-collections-3.2.1-sources.jar"/> <classpathentry kind="output" path="classes"/> </classpath> Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java 2009-05-31 07:23:04 UTC (rev 4827) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java 2009-06-01 22:32:04 UTC (rev 4828) @@ -106,7 +106,14 @@ * @param i le numero de ligne de l'erreur */ public void addErrorFromFile(final String msg, final int i, Object... data) { - addRecord(Level.SEVERE, msg, i, data); + if (data == null) { + addRecord(Level.SEVERE, msg, i); + } else { + Object[] all = new Object[data.length + 1]; + System.arraycopy(data, 0, all, 1, data.length); + all[0] = i; + addRecord(Level.SEVERE, msg, all); + } } /** @@ -115,7 +122,7 @@ * @param reader le reader occasionnant l'erreur */ public void addErrorFromFile(final String msg, final LineNumberReader reader, Object... data) { - addRecord(Level.SEVERE, msg, reader.getLineNumber(), data); + addErrorFromFile(msg, reader.getLineNumber(), data); } /** @@ -358,7 +365,7 @@ * @param msg le message */ public void manageException(final Exception _e, final String msg) { - addRecord(Level.SEVERE, msg).setThrown(_e); + addRecord(Level.SEVERE, msg, _e.getMessage()).setThrown(_e); } /** Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluDefaultLogFormatter.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluDefaultLogFormatter.java 2009-05-31 07:23:04 UTC (rev 4827) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluDefaultLogFormatter.java 2009-06-01 22:32:04 UTC (rev 4828) @@ -4,7 +4,9 @@ */ package org.fudaa.ctulu; +import java.text.MessageFormat; import java.util.Collection; +import java.util.Date; import java.util.logging.Formatter; import java.util.logging.LogRecord; import java.util.logging.SimpleFormatter; @@ -18,6 +20,17 @@ */ public final class CtuluDefaultLogFormatter extends SimpleFormatter { + Date dat = new Date(); + private final static String format = "{0,date} {0,time}"; + private MessageFormat formatter; + + private final Object args[] = new Object[1]; + + // Line separator string. This is the value of the line.separator + // property at the moment that the SimpleFormatter was created. + private final String lineSeparator = (String) java.security.AccessController + .doPrivileged(new sun.security.action.GetPropertyAction("line.separator")); + /** * Formateur par defaut pour les logs */ @@ -61,6 +74,38 @@ } @Override + public synchronized String format(LogRecord record) { + StringBuilder sb = new StringBuilder(256); + // Minimize memory allocations here. + // dat.setTime(record.getMillis()); + // args[0] = dat; + // if (formatter == null) { + // formatter = new MessageFormat(format); + // } + + sb.append(record.getLevel().getLocalizedName()); + sb.append(": "); + // StringBuffer text = new StringBuffer(); + // formatter.format(args, text, null); + // sb.append(" "); + sb.append(formatMessage(record)); + // sb.append(": "); + // sb.append(text); + + // sb.append(lineSeparator); + // if (record.getThrown() != null) { + // try { + // StringWriter sw = new StringWriter(); + // PrintWriter pw = new PrintWriter(sw); + // record.getThrown().printStackTrace(pw); + // pw.close(); + // sb.append(sw.toString()); + // } catch (Exception ex) {} + // } + return sb.toString(); + } + + @Override public synchronized String formatMessage(final LogRecord record) { String format = record.getMessage(); final java.util.ResourceBundle catalog = record.getResourceBundle(); Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractSingleConverterPoint.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractSingleConverterPoint.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractSingleConverterPoint.java 2009-06-01 22:32:04 UTC (rev 4828) @@ -0,0 +1,61 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.io.dao; + +import org.apache.commons.lang.StringUtils; +import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.dodico.crue.io.common.AbstractSingleConverter; +import org.fudaa.dodico.crue.metier.emh.Point2D; + +// TODO pour Fred : cette classe est similaire à SingleConverterPtProfil (seuls les objets métier utilisés sont différents). Ne pourrait-on pas mutualiser l'analyse et l'affichage du point FF ? +/** + * @author deniger + */ +public abstract class AbstractSingleConverterPoint extends AbstractSingleConverter { + + final Class clazz; + + /** + * @param clazz la classe acceptee par ce converter + */ + public AbstractSingleConverterPoint(final Class clazz) { + super(); + this.clazz = clazz; + } + + protected abstract Object createFor(double x, double y); + + public boolean canConvert(final Class type) { + return clazz.equals(type); + } + + public Object fromString(final String str) { + if (CtuluLibString.isEmpty(str)) { return null; } + final String[] xy = StringUtils.split(str); + if (xy == null || xy.length != 2) { + if (analyse != null) { + analyse.addError("io.convert.PtEvolutionFF.error", str); + } + return null; + } + Object res = null; + try { + res = createFor(Double.parseDouble(xy[0]), Double.parseDouble(xy[1])); + } catch (final NumberFormatException e) { + if (analyse != null) { + analyse.addError("io.convert.PtEvolutionFF.error", str); + } + return null; + } + return res; + } + + public String toString(final Object obj) { + if (obj == null) { return CtuluLibString.EMPTY_STRING; } + final Point2D in = (Point2D) obj; + return in.getAbscisse() + " " + in.getOrdonnee(); + } + +} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueHelper.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueHelper.java 2009-05-31 07:23:04 UTC (rev 4827) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueHelper.java 2009-06-01 22:32:04 UTC (rev 4828) @@ -49,37 +49,8 @@ public final static String RPTI = "RPTI"; //$NON-NLS-1$ public final static String RCAL = "RCAL"; //$NON-NLS-1$ - // /** - // * Construit un ptProfil a partir d'une chaine de caracteres. Utilisé pour DPTG - // * - // * @param buff - // * @param listeMessageError - // * @param nameError - // * @return - // */ - // public static PtProfil createFormString(final StringBuffer buff, final CtuluAnalyze analyser, final String - // nameError) { - // final int indiceCesure = buff.lastIndexOf(" "); //$NON-NLS-1$ - // final String val1 = buff.substring(0, indiceCesure); - // final String val2 = buff.substring(indiceCesure + 1, buff.length()); - // double x = 0; - // try { - // x = Double.parseDouble(val1); - // - // } catch (final NumberFormatException e) { - // addWarn("io.ptProfil.x.error", nameError, buff, analyser); //$NON-NLS-1$ - // } - // double y = 0; - // try { - // y = Double.parseDouble(val2); - // } catch (final NumberFormatException e) { - // addWarn("io.ptProfil.y.error", nameError, buff, analyser); //$NON-NLS-1$ - // } - // - // final PtProfil profil = new PtProfil(x, y); - // return profil; - // } + /** * Compare l'égalité de 2 pt profils * @@ -92,106 +63,7 @@ } - // public static PtEvolutionFF createPtEvolutionFFfromString(final String buff, final CtuluAnalyze analyser, - // final String nomEMH) { - // final int indiceCesure = buff.lastIndexOf(" "); //$NON-NLS-1$ - // final String val1 = buff.substring(0, indiceCesure); - // final String val2 = buff.substring(indiceCesure + 1, buff.length()); - // double x = 0; - // try { - // x = Double.parseDouble(val1); - // - // } catch (final NumberFormatException e) { - // addWarn("io.ptEvolutionFF.x.error", nomEMH, buff, analyser); //$NON-NLS-1$ - // } - // double y = 0; - // try { - // y = Double.parseDouble(val2); - // } catch (final NumberFormatException e) { - // addWarn("io.ptEvolutionFF.y.error", nomEMH, buff, analyser); //$NON-NLS-1$ - // } - // - // final PtEvolutionFF evolution = new PtEvolutionFF(); - // evolution.setX(x); - // evolution.setY(y); - // return evolution; - // } - // private static void addWarn(final String msg, final String nom, final Object data, final CtuluAnalyze analyser) { - // // final Map m = createMapNom(nom); - // // m.put("{data}", data); //$NON-NLS-1$ - // analyser.addWarn(msg, data); - // } - - // public static PtEvolutionDF createEvolutionDFfromString(final String buff, final CtuluAnalyze analyser, - // final String nomEMH) { - // - // try { - // final StringTokenizer strToken = new StringTokenizer(buff.toString()); - // - // String strnbJours = null, strnbHeures = null, strnbMinutes = null, strnbSecondes = null, stry = null; - // - // if (strToken.hasMoreTokens()) { - // strnbJours = strToken.nextToken(); - // } - // if (strToken.hasMoreTokens()) { - // strnbHeures = strToken.nextToken(); - // } - // if (strToken.hasMoreTokens()) { - // strnbMinutes = strToken.nextToken(); - // } - // if (strToken.hasMoreTokens()) { - // strnbSecondes = strToken.nextToken(); - // } - // if (strToken.hasMoreTokens()) { - // stry = strToken.nextToken(); - // } - // - // int nbJours = -1, nbHeures = -1, nbMinutes = -1, nbSecondes = -1; - // double y = 0; - // // TODO a revoir avec le nouveau format date ! - // try { - // nbJours = Integer.parseInt(strnbJours); - // } catch (final NumberFormatException ex) { - // addWarn("io.date.jour.error", nomEMH, buff, analyser); //$NON-NLS-1$ - // } - // try { - // nbHeures = Integer.parseInt(strnbHeures); - // } catch (final NumberFormatException ex) { - // addWarn("io.date.heure.error", nomEMH, buff, analyser); //$NON-NLS-1$ - // } - // try { - // nbMinutes = Integer.parseInt(strnbMinutes); - // } catch (final NumberFormatException ex) { - // addWarn("io.date.minute.error", nomEMH, buff, analyser); //$NON-NLS-1$ - // } - // try { - // nbSecondes = Integer.parseInt(strnbSecondes); - // } catch (final NumberFormatException ex) { - // addWarn("io.date.seconde.error", nomEMH, buff, analyser); //$NON-NLS-1$ - // } - // try { - // y = Double.parseDouble(stry); - // } catch (final NumberFormatException ex) { - // addWarn("io.evolutionDF.y.error", nomEMH, buff, analyser); //$NON-NLS-1$ - // } - // - // final CrueDate duree = new CrueDate(nbJours, nbHeures, nbMinutes, nbSecondes); - // - // final PtEvolutionDF evolution = new PtEvolutionDF(); - // evolution.setDate(duree); - // evolution.setY(y); - // return evolution; - // } catch (final Exception e) { - // return new PtEvolutionDF(); - // } - // - // } - - // public static PtProfil createFormString(final String buff, final CtuluAnalyze analyser, final String nameError) { - // return createFormString(new StringBuffer(buff), analyser, nameError); - // } - /** * Message qui indique la balise n'est pas reconnue par les structures de données EMH. * @@ -203,20 +75,9 @@ out.addInfo("io.unknownEMH.error", balise, nomEMH); } - // private static Map<String, Object> createMapBaliseNom(final String balise, final String nom) { - // final Map<String, Object> m = createBaliseMap(balise); - // m.put("{nom}", nom); //$NON-NLS-1$ - // return m; - // } - // public static Map<String, Object> createMapNom(final String nom) { - // return CtuluAnalyze.createMap("{nom}", nom); //$NON-NLS-1$ - // } - public static void unknowdataFromFile(final String balise, final String FileType, final String nom, final CtuluAnalyze out) { - // final Map m = createMapBaliseNom(balise, nom); - // m.put("{fileType}", FileType); //$NON-NLS-1$ out.addInfo("io.unknownDataFromFile.error", balise, FileType, nom); //$NON-NLS-1$ } @@ -248,9 +109,6 @@ } - // private static Map<String, Object> createBaliseMap(final String balise) { - // return CtuluAnalyze.createMap("{balise}", balise); //$NON-NLS-1$ - // } /** * Message qui indique la balise n'est pas reconnue par les structures de données EMH. Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java 2009-05-31 07:23:04 UTC (rev 4827) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java 2009-06-01 22:32:04 UTC (rev 4828) @@ -1,16 +1,6 @@ package org.fudaa.dodico.crue.io.dao; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.OutputStreamWriter; +import java.io.*; import java.net.MalformedURLException; import java.net.URL; @@ -20,16 +10,16 @@ import javax.xml.validation.SchemaFactory; import javax.xml.validation.Validator; +import com.memoire.fu.FuLogCrue; +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.DomDriver; + import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.dodico.crue.io.common.Messages; import org.fudaa.dodico.crue.metier.CrueData; import org.xml.sax.InputSource; -import com.memoire.fu.FuLogCrue; -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.DomDriver; - /** * File format customisé pour Crue. Indique si le fichier est de type crue 9 ou 10. Contient un validator xsd pour le * fichier donné. Contient une méthode statique très pratique qui permet de retourner automatiquement le bon FileFormat @@ -156,11 +146,13 @@ final URL xsdURL = getClass().getResource(xsdPath); final SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); final Schema schema = schemaFactory.newSchema(xsdURL); + final Validator validator = schema.newValidator(); + validator.setErrorHandler(handler); validator.validate(new SAXSource(new InputSource(xml.toString()))); } catch (final Exception e) { - res.manageException(e); + // res.manageException(e); FuLogCrue.error(e); return false; } @@ -185,7 +177,7 @@ * @return */ public D readDao(final File fichier, final CtuluAnalyze analyser, final Object dataLinked) { - // TODO a remettre if (!isValide(fichier, analyser)) { return null; } + if (!isValide(fichier, analyser)) { return null; } FileInputStream in = null; D newData = null; try { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/ErrorHandlerDefault.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/ErrorHandlerDefault.java 2009-05-31 07:23:04 UTC (rev 4827) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/ErrorHandlerDefault.java 2009-06-01 22:32:04 UTC (rev 4828) @@ -24,12 +24,12 @@ public void error(final SAXParseException exception) throws SAXException { hasError = true; - res.addErrorFromFile(exception.getMessage(), exception.getLineNumber()); + res.addErrorFromFile("io.xml.validator.error", exception.getLineNumber(), exception.getMessage()); } public void fatalError(final SAXParseException exception) throws SAXException { hasError = true; - res.addErrorFromFile(exception.getMessage(), exception.getLineNumber()); + res.addErrorFromFile("io.xml.validator.error", exception.getLineNumber(), exception.getMessage()); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/SingleConverterPointFF.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/SingleConverterPointFF.java 2009-05-31 07:23:04 UTC (rev 4827) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/SingleConverterPointFF.java 2009-06-01 22:32:04 UTC (rev 4828) @@ -4,47 +4,23 @@ */ package org.fudaa.dodico.crue.io.dao; -import org.apache.commons.lang.StringUtils; -import org.fudaa.ctulu.CtuluLibString; -import org.fudaa.dodico.crue.io.common.AbstractSingleConverter; import org.fudaa.dodico.crue.metier.emh.PtEvolutionFF; -// TODO pour Fred : cette classe est similaire à SingleConverterPtProfil (seuls les objets métier utilisés sont différents). Ne pourrait-on pas mutualiser l'analyse et l'affichage du point FF ? /** * @author deniger */ -public class SingleConverterPointFF extends AbstractSingleConverter { +public class SingleConverterPointFF extends AbstractSingleConverterPoint { - public boolean canConvert(final Class type) { - return PtEvolutionFF.class.equals(type); + /** + * Constructeur par défaut. + */ + public SingleConverterPointFF() { + super(PtEvolutionFF.class); } - public Object fromString(final String str) { - if (CtuluLibString.isEmpty(str)) { return null; } - final String[] xy = StringUtils.split(str); - if (xy == null || xy.length != 2) { - if (analyse != null) { - analyse.addError("io.convert.PtEvolutionFF.error", str); - } - return null; - } - final PtEvolutionFF res = new PtEvolutionFF(); - try { - res.setX(Double.parseDouble(xy[0])); - res.setY(Double.parseDouble(xy[1])); - } catch (final NumberFormatException e) { - if (analyse != null) { - analyse.addError("io.convert.PtEvolutionFF.error", str); - } - return null; - } - return res; + @Override + protected Object createFor(double x, double y) { + return new PtEvolutionFF(x, y); } - public String toString(final Object obj) { - if (obj == null) { return CtuluLibString.EMPTY_STRING; } - final PtEvolutionFF in = (PtEvolutionFF) obj; - return in.getX() + " " + in.getY(); - } - } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/SingleConverterPtProfil.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/SingleConverterPtProfil.java 2009-05-31 07:23:04 UTC (rev 4827) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/SingleConverterPtProfil.java 2009-06-01 22:32:04 UTC (rev 4828) @@ -4,64 +4,31 @@ */ package org.fudaa.dodico.crue.io.dao; -import org.apache.commons.lang.StringUtils; -import org.fudaa.ctulu.CtuluAnalyze; -import org.fudaa.ctulu.CtuluLibString; import org.fudaa.dodico.crue.metier.emh.PtProfil; -import com.thoughtworks.xstream.converters.SingleValueConverter; - /** * @author deniger */ -public class SingleConverterPtProfil implements SingleValueConverter { +public class SingleConverterPtProfil extends AbstractSingleConverterPoint { - private CtuluAnalyze analyse; + /** + * Constructeur par defaut + */ + public SingleConverterPtProfil() { + super(PtProfil.class); + } + @Override public boolean canConvert(final Class type) { return PtProfil.class.equals(type); } - public Object fromString(final String str) { - if (CtuluLibString.isEmpty(str)) { return null; } - final String[] xy = StringUtils.split(str); - if (xy == null || xy.length != 2) { - if (analyse != null) { - analyse.addError("io.convert.PtEvolutionFF.error", str); - } - return null; - } + @Override + protected Object createFor(final double x, final double y) { final PtProfil res = new PtProfil(); - try { - res.setYP(Double.parseDouble(xy[0])); - res.setZ(Double.parseDouble(xy[1])); - } catch (final NumberFormatException e) { - if (analyse != null) { - analyse.addError("io.convert.PtEvolutionFF.error", str); - } - return null; - } + res.setYP(x); + res.setZ(y); return res; } - /** - * @return the analyse - */ - public CtuluAnalyze getAnalyse() { - return analyse; - } - - /** - * @param analyse the analyse to set - */ - public void setAnalyse(final CtuluAnalyze analyse) { - this.analyse = analyse; - } - - public String toString(final Object obj) { - if (obj == null) { return CtuluLibString.EMPTY_STRING; } - final PtProfil in = (PtProfil) obj; - return in.getYP() + " " + in.getZ(); - } - } 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 2009-05-31 07:23:04 UTC (rev 4827) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java 2009-06-01 22:32:04 UTC (rev 4828) @@ -1,5 +1,6 @@ package org.fudaa.dodico.crue.io.neuf; +import gnu.trove.TDoubleArrayList; import gnu.trove.TLongArrayList; import java.io.IOException; @@ -7,10 +8,6 @@ import java.util.ArrayList; import java.util.List; -import org.fudaa.dodico.crue.io.neuf.FCBSequentialReader.StructBranche; -import org.fudaa.dodico.crue.io.neuf.FCBSequentialReader.StructNoeud; -import org.fudaa.dodico.crue.io.neuf.FCBSequentialReader.StructProfil; - /** * Reader pour FCB. * @@ -46,6 +43,7 @@ analyze_.addFatalError("crue.io.fcb.notValid"); return null; } + infos.setOrder(helper.getOrder()); // -- on lit les 10 premieres lignes de titre DC et DH dans le Buffer--// final int nbCommentDc = 5; @@ -60,8 +58,8 @@ commnentDc.add(helper.getStingFromBuffer(nbCaractereParLigne)); } - infos.setCommentDc(commnentDc); - infos.setCommentDh(commnentDh); + infos.commentDc = commnentDc; + infos.commentDh = commnentDh; // on recupere la ligne write(ifi2) iprm,sngl(past),icodav,ibmax,nomdc,nomdh helper.readData(); @@ -70,21 +68,21 @@ // iprm i4 : nombre de profils du modèle // on lit la // bf = helper.getBuffer(); - infos.nbProfils = bf.getInt(); + final int nbProfils = bf.getInt(); // past r8 : pas de temps d'impression des résultats, en secondes. - final double r8 = bf.getFloat(); + /* final double r8 = */bf.getFloat(); // icodav i4 : présence (1) ou non (0) d'une régulation // icodav==0 ou 2 pas de regulation // icodav==1 ou 3 regulation // icodav=2 ou 4 zfond_ssfente present final int icodav = bf.getInt(); - infos.setSousFente(icodav >= 2); - infos.setRegulationPresente(icodav == 1 || icodav == 3); - infos.nbBranches = bf.getInt(); - final String nomDc = helper.getStingFromBuffer(60); - final String nomDh = helper.getStingFromBuffer(60); + infos.sousFente = (icodav >= 2); + infos.regulation = (icodav == 1 || icodav == 3); + final int nbBranches = bf.getInt(); + /* final String nomDc = */helper.getStingFromBuffer(60); + /* final String nomDh = */helper.getStingFromBuffer(60); // -- on passe a la ligne contenant ibmax et iparam --// // helper.skipRecord(); @@ -92,11 +90,11 @@ // on arrive a la ligne des profils --// // write(ifi2) (tit(ipro),sngl(dist(ipro)),zfond(nuprfl(ipro)), ipro,ipro=1,iprm) // on recupere l'indice du début des profils. - readProfils(infos); + readProfils(infos, nbProfils); // -- on passe la boucle de nbbranches lignes--// - readBranches(infos); + readBranches(infos, nbBranches); // -- ensuite on lit les points si ou ils sont affiches--// readNodes(infos); @@ -104,11 +102,12 @@ // TODO gere si oui ou non la ligne de write(9) npar,(nompar(i),tx(i),i=1,npar) // es t ecrite, cf spec pour entete if (infos.isRegulation()) { - readRegulationParam(infos); + helper.readSequentialData(); + // readRegulationParam(infos); pas pris en compte dans le lot0 } // -- on arrive au CORPS, on repere les indice de chaque PDT --// - // readPdt(infos); + readPdt(infos); // --on passee les lignes de Crue--// @@ -122,107 +121,76 @@ * @param infos * @throws IOException */ + // (ifi2) nbpoin,(nompoi(ip),nupro(ip),ip=1,nbpoin) private void readNodes(final FCBSequentialReader infos) throws IOException { - // (ifi2) nbpoin,(nompoi(ip),nupro(ip),ip=1,nbpoin) // nbpoin i4 : nombre de noeuds helper.readData(); final ByteBuffer bf = helper.getBuffer(); final int nbNd = bf.getInt(); - infos.nbNoeuds = nbNd; - final List<StructNoeud> nds = new ArrayList<StructNoeud>(nbNd); + final List<FCBValueObject.EnteteNoeud> nds = new ArrayList<FCBValueObject.EnteteNoeud>(nbNd); for (int i = 0; i < nbNd; i++) { - final StructNoeud nd = new StructNoeud(); + final FCBValueObject.EnteteNoeud nd = new FCBValueObject.EnteteNoeud(); nd.setNom(helper.getStingFromBuffer(16).trim()); nd.setNumProfil(bf.getInt() - 1); nds.add(nd); } - infos.noeuds = nds; + infos.setNoeuds(nds); } /** - * Lit les infos des regulations si elles existent. - * - * @param infos - * @throws IOException - */ - private void readRegulationParam(final FCBSequentialReader infos) throws IOException { - // write(9) npar,(nompar(i),tx(i),i=1,npar) - - // TODO a verifier: l'objectif ici est de tenter de lire la ligne, si elle existe il y a des regulations, - // WARNING sinon il n'y a pas de pas de temps regul. - - // npar i4 : nombre de paramètres de régulation - - helper.readAll(4); - final ByteBuffer bf = helper.getBuffer(); - try { - infos.nbParamsRegulation = bf.getInt(); - } catch (final Exception e) { - - return; - } - infos.hasRegulationRecords = true; - infos.tableauNomsParamRegulations = new String[infos.nbParamsRegulation]; - - for (int i = 0; i < infos.nbParamsRegulation; i++) { - helper.readAll(8); - final ByteBuffer buffer = helper.getBuffer(); - - final char[] nomChar = new char[8]; - for (int j = 0; j < 8; j++) { - nomChar[j] = buffer.getChar(); - } - infos.tableauNomsParamRegulations[i] = new String(nomChar); - - } - - infos.indicePostionHelperForRegulations = helper.getCurrentPosition(); - - } - - /** * lit les pdt. * * @param infos * @throws IOException */ public void readPdt(final FCBSequentialReader infos) throws IOException { + // les tabbleau enregistrant les pdt ( regu et normal), leur position et ruinou + final TLongArrayList posNormal = new TLongArrayList(); + final TDoubleArrayList pdtNormal = new TDoubleArrayList(); + final TDoubleArrayList ruinouNormal = new TDoubleArrayList(); + final TLongArrayList posRegul = new TLongArrayList(); + final TDoubleArrayList pdtRegul = new TDoubleArrayList(); - infos.tableauIndicesPdtCrue = new TLongArrayList(); - infos.tableauIndicesPdtRegul = new TLongArrayList(); + while (helper.getAvailable() > 0) { + helper.readData(); + // ici on a la ligne + // write(9) test,sngl(t) si regul + // (ifi2) test,sngl(t),sngl(ruinou) pour un pas de temps normal - // -- on sort de la boucle au eof --// - while (true) { - // -- on lit les 2 param test et l'indice du pdt --// - // write(9) test,sngl(t) - - helper.readAll(8); - final ByteBuffer buffer = helper.getBuffer(); - - final char[] nomChar = new char[8]; - for (int j = 0; j < 8; j++) { - nomChar[j] = buffer.getChar(); + // ces 2 tableaux enregistrent les données: si regu on les modifie + TLongArrayList posCurrent = posNormal; + TDoubleArrayList pdtCurrent = pdtNormal; + final String id = helper.getStingFromBuffer(4); + final boolean isRegu = "REGU".equals(id); + // si regu, on switche les tableaux qui vont recevoir les donnees. + if (isRegu) { + posCurrent = posRegul; + pdtCurrent = pdtRegul; } - final String type = new String(nomChar); - infos.nbTimesSteps++; - // test c4 : 'CRUE' ou 'REGU' suivant le cas - if (type.equals("REGU")) { - infos.nbTimesStepsRegulation++; - infos.tableauIndicesPdtRegul.add(helper.getCurrentPosition()); - // pas de pdt pour crue - infos.tableauIndicesPdtCrue.add(-1); - } else { - infos.nbTimesStepsCrue++; - infos.tableauIndicesPdtCrue.add(helper.getCurrentPosition()); - // pas de pdt pour regul - infos.tableauIndicesPdtRegul.add(-1); + // on enregistre le pas de temps + pdtCurrent.add(helper.getBuffer().getFloat()); + // en mode normal, on enregistre ruinou + if (!isRegu) { + ruinouNormal.add(helper.getBuffer().getDouble()); } - + // on enregistre la position intéressante: celle juste avant les donnéées + posCurrent.add(helper.getCurrentPosition()); + // on saute la ligne profil ou regul + helper.skipRecord(); + // si pas regu + if (!isRegu) { + // on saute la ligne branche + helper.skipRecord(); + // on saute la ligne point + helper.skipRecord(); + } } + infos.pdt = new FCBSequentialReader.PasDeTempsContainerNormal(posNormal, pdtNormal, ruinouNormal); + infos.pdtRegulation = new FCBSequentialReader.PasDeTempsContainer(posRegul, pdtRegul); } @@ -232,17 +200,17 @@ * @param infos * @throws IOException */ - private void readBranches(final FCBSequentialReader infos) throws IOException { + private void readBranches(final FCBSequentialReader infos, final int nbBranches) throws IOException { // do 30 ib=1,ibmax // write(ifi2) ntyp(ib),imax(ib),(n0pr(ip,ib),ip=1,imax(ib)), // * nombr(ib),nupam(ib),nupav(ib) // 30 continue - final List<StructBranche> brs = new ArrayList<StructBranche>(infos.nbBranches); + final List<FCBValueObject.EnteteBranche> brs = new ArrayList<FCBValueObject.EnteteBranche>(nbBranches); // infos.indicePostionHelperForBranches = helper.getCurrentPosition(); - for (int i = 0; i < infos.nbBranches; i++) { + for (int i = 0; i < nbBranches; i++) { helper.readData(); final ByteBuffer buffer = helper.getBuffer(); - final StructBranche br = new StructBranche(); + final FCBValueObject.EnteteBranche br = new FCBValueObject.EnteteBranche(); br.setTypeBranche(buffer.getInt()); final int nbProfil = buffer.getInt(); final int[] numeroAbsProfil = new int[nbProfil]; @@ -264,16 +232,16 @@ * * @throws IOException */ - private void readProfils(final FCBSequentialReader infos) throws IOException { + private void readProfils(final FCBSequentialReader infos, final int nbProfils) throws IOException { // on recupere l'indice du début des profils. // infos.indicePostionHelperForProfil = helper.getCurrentPosition(); - final List<StructProfil> profils = new ArrayList<StructProfil>(infos.nbProfils); + final List<FCBValueObject.EnteteProfil> profils = new ArrayList<FCBValueObject.EnteteProfil>(nbProfils); final boolean containsSsfente = infos.isSousFente(); // (tit(ipro),sngl(dist(ipro)),zfond(nuprfl(ipro)) helper.readData(); final ByteBuffer buffer = helper.getBuffer(); - for (int i = 0; i < infos.nbProfils; i++) { - final StructProfil prof = new StructProfil(); + for (int i = 0; i < nbProfils; i++) { + final FCBValueObject.EnteteProfil prof = new FCBValueObject.EnteteProfil(); prof.setNom(helper.getStingFromBuffer(16).trim()); prof.setDistance(buffer.getFloat()); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBSequentialReader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBSequentialReader.java 2009-05-31 07:23:04 UTC (rev 4827) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBSequentialReader.java 2009-06-01 22:32:04 UTC (rev 4828) @@ -1,14 +1,20 @@ package org.fudaa.dodico.crue.io.neuf; +import gnu.trove.TDoubleArrayList; import gnu.trove.TLongArrayList; +import gnu.trove.TObjectIntHashMap; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.nio.ByteBuffer; +import java.nio.ByteOrder; import java.nio.channels.FileChannel; +import java.util.Collections; import java.util.List; +import org.apache.commons.lang.ArrayUtils; + /** * Structure de données fcb construite à la volée avec les infos fcb qui vont bien. garde en memoire les indices des pas * de temps, les noeuds utilises, les branches, l'indice de regulation, le nb de pas de temps crue et regulation. @@ -17,229 +23,234 @@ */ public class FCBSequentialReader { + private static final class DataContainerEmpty extends EnteteContainer { + + public DataContainerEmpty() { + super(Collections.emptyList(), null); + } + } + /** - * Structure qui correspond a un enregistrement d'une branche. + * Interface definissant un contrat permettant de construire un resultat * - * @author Adrien Hadoux + * @author denf01a + * @creation 27 mai 2009 + * @version + * @param <T> le resultat voulu */ - public static class StructBranche { - private String nom; - private int profilAmont; - private int profilAval; - private int[] tableauIndiceProfils; - - private int typeBranche; - + private interface ResBuilder<T extends FCBValueObject.AbstractRes> { /** - * @param idxLocal l'indice du profil dans la branche - * @return l'indice global ( commence a 0!) + * @return le resultat instancie */ - public int getIndiceProfil(final int idxLocal) { - return tableauIndiceProfils[idxLocal]; - } + T createRes(); /** - * @return le nombre de profils dans cette branche + * @param idxEnr l'indice de l'enregistrement a lire + * @return le nombre de byte a sauter pour lire la bonne donnee */ - public int getNbProfils() { - return tableauIndiceProfils == null ? 0 : tableauIndiceProfils.length; - } + int getOffset(int idxEnr); /** - * @return the nom + * @return la longueur des donnees pour un resultat ( pour un profil,noeud ou branche). */ - public String getNom() { - return nom; + int getTailleEnr(); + } + + private class ResBuilderBranche implements ResBuilder<FCBValueObject.ResBranche> { + + public FCBValueObject.ResBranche createRes() { + return new FCBValueObject.ResBranche(); } - /** - * @return the profilAmont - */ - public int getProfilAmont() { - return profilAmont; + public int getOffset(final int idxEnr) { + return getTailleBlocProfil() + 4 + idxEnr * TAILLE_ENR_BRANCHE; } - /** - * @return the profilAval - */ - public int getProfilAval() { - return profilAval; + public int getTailleEnr() { + return TAILLE_ENR_BRANCHE; } - /** - * @return the typeBranche - */ - public int getTypeBranche() { - return typeBranche; + } + + private class ResBuilderNoeud implements ResBuilder<FCBValueObject.ResNoeud> { + + public FCBValueObject.ResNoeud createRes() { + return new FCBValueObject.ResNoeud(); } - /** - * @param nom the nom to set - */ - protected void setNom(final String nom) { - this.nom = nom; + public int getOffset(final int idxEnr) { + return getTailleBlocProfil() + getTailleBlocBranche() + 4 + idxEnr * TAILLE_ENR_NOEUD; } - /** - * @param profilAmont the profilAmont to set - */ - protected void setProfilAmont(final int profilAmont) { - this.profilAmont = profilAmont; + public int getTailleEnr() { + return TAILLE_ENR_NOEUD; } - /** - * @param profilAval the profilAval to set - */ - protected void setProfilAval(final int profilAval) { - this.profilAval = profilAval; + } + + private class ResBuilderProfil implements ResBuilder<FCBValueObject.ResProfil> { + + public FCBValueObject.ResProfil createRes() { + return new FCBValueObject.ResProfil(); } - /** - * @param tableauIndiceProfils the tableauIndiceProfils to set - */ - protected void setTableauIndiceProfils(final int[] tableauIndiceProfils) { - this.tableauIndiceProfils = tableauIndiceProfils; + public int getOffset(final int idxEnr) { + return 4 + idxEnr * TAILLE_ENR_PROFIL; } - /** - * @param typeBranche the typeBranche to set - */ - protected void setTypeBranche(final int typeBranche) { - this.typeBranche = typeBranche; + public int getTailleEnr() { + return TAILLE_ENR_PROFIL; } + } /** - * Structure qui correspond a un enregistrement d'une noeud. - * - * @author Adrien Hadoux + * indice des positions de chaque pdt de crue, longueur variable */ - public static class StructNoeud { + protected static class PasDeTempsContainer { - private String nom; - private int numProfil; + final protected long[] positions; + final protected double[] pdts; - /** - * @return the nom - */ - public String getNom() { - return nom; + protected PasDeTempsContainer() { + positions = ArrayUtils.EMPTY_LONG_ARRAY; + pdts = ArrayUtils.EMPTY_DOUBLE_ARRAY; } - /** - * @param nom the nom to set - */ - protected void setNom(String nom) { - this.nom = nom; + protected PasDeTempsContainer(final TLongArrayList tableauIndicesPdtCrue, final TDoubleArrayList pdt) { + positions = tableauIndicesPdtCrue.toNativeArray(); + pdts = pdt.toNativeArray(); } + public int getNbPdt() { + return pdts.length; + } + + public double getPdt(final int idxPdt) { + return pdts[idxPdt]; + } + + public long getPosition(final int idxPdt) { + return positions[idxPdt]; + } + + } + + protected static class PasDeTempsContainerNormal extends PasDeTempsContainer { + /** - * @return the numPro + * coefficient de ruissellement */ - public int getNumProfil() { - return numProfil; + private final double[] ruinou; + + protected PasDeTempsContainerNormal() { + super(); + ruinou = ArrayUtils.EMPTY_DOUBLE_ARRAY; } + protected PasDeTempsContainerNormal(final TLongArrayList tableauIndicesPdtCrue, final TDoubleArrayList pdt, + final TDoubleArrayList ruinou) { + super(tableauIndicesPdtCrue, pdt); + this.ruinou = ruinou.toNativeArray(); + } + /** - * @param numPro the numPro to set + * @param idx le pas de temps demande. + * @return coefficient de ruissellement au pas de temps idx */ - protected void setNumProfil(int numPro) { - this.numProfil = numPro; + public double getRuinou(final int idx) { + return ruinou[idx]; } } /** - * Structure qui correspond a un enregistrement d'une profil. - * - * @author Adrien Hadoux + * @author denf01a + * @creation 27 mai 2009 + * @version + * @param <T> l'entete + * @param <R> le resultat */ - public static class StructProfil { + public static class EnteteContainer<T extends FCBValueObject.AbstractEntete, R extends FCBValueObject.AbstractRes> { + private final List<T> listData; + private final ResBuilder<R> resBuilder; + private final TObjectIntHashMap namePos; - private double distance; - private String nom; - private double zFond; - private double zFondSsfente; + private final int nb; - /** - * @return the distance - */ - public double getDistance() { - return distance; + protected EnteteContainer(final List<T> struc, final ResBuilder<R> resBuilder) { + super(); + this.listData = Collections.unmodifiableList(struc); + this.resBuilder = resBuilder; + namePos = new TObjectIntHashMap(); + int idx = 0; + for (final T t : struc) { + namePos.put(t.getNom(), idx++); + } + nb = listData.size(); } - /** - * @return the nom - */ - public String getNom() { - return nom; + protected ResBuilder<R> getResBuilder() { + return resBuilder; } /** - * @return the zfonds + * @param nom le nom + * @return la position de lecture. -1 si non present */ - public double getZfond() { - return zFond; + public T getData(final String nom) { + final int i = getPosition(nom); + return i < 0 ? null : getListData().get(i); } /** - * @return the zzfondSsfente + * @param idx l'indice + * @return le nom de la donnes */ - public double getZfondSsfente() { - return zFondSsfente; + public String getDataName(final int idx) { + return listData.get(idx).getNom(); } /** - * @param distance the distance to set + * @return liste non modifiable des donnees. */ - protected void setDistance(final double distance) { - this.distance = distance; + public List<T> getListData() { + return listData; } /** - * @param nom the nom to set + * @return le nombre de données */ - protected void setNom(final String nom) { - this.nom = nom; + public int getNbData() { + return nb; } /** - * @param zfond the zfonds to set + * @param nom le nom + * @return la position de lecture. -1 si non present */ - protected void setZfond(final double zfond) { - this.zFond = zfond; + public int getPosition(final String nom) { + if (namePos.contains(nom)) { return namePos.get(nom); } + return -1; } - - /** - * @param zFondSsfente the zzfondSsfente to set - */ - protected void setZFondSsfente(final double zFondSsfente) { - this.zFondSsfente = zFondSsfente; - } - - @Override - public String toString() { - return nom + " dist=" + distance + ", zfond=" + zFond + ", sfondSsFente=" + zFondSsfente; - } - } - public static class StructRegulation { + private static final int TAILLE_ENR_PROFIL = 20; + private static final int TAILLE_ENR_BRANCHE = 16; + private static final int TAILLE_ENR_NOEUD = 12; - double[] numPro; + private final static PasDeTempsContainer EMPTY_PDT = new PasDeTempsContainer(); - double pdt; - } + private final static PasDeTempsContainerNormal EMPTY_PDT_NORMAL = new PasDeTempsContainerNormal(); + private final static EnteteContainer EMPTY = new DataContainerEmpty(); - protected List<StructBranche> branches; - protected List<StructNoeud> noeuds; - /** * le channel. */ protected FileChannel channel; protected List<String> commentDc; + protected List<String> commentDh; /** @@ -248,76 +259,23 @@ protected final File file; /** - * hasCrueRecords en principe toujours vrai. A confirmer. - */ - protected boolean hasCrueRecords = true; - - protected boolean hasRegulationRecords = false; - - /** - * indique la position du reader pour le debut de lecture des crue pas de temps. - */ - protected long indicePostionHelperForCruePDT = 0; - - /** - * indique la position du reader pour le debut de lecture des nregulation - */ - protected long indicePostionHelperForRegulations = 0; - /** * true si le fichier contient une régulation */ - private boolean isRegulation; - /** - * nb de branches. - */ - protected int nbBranches = 0; - /** - * nb de profils du modele. - */ - protected int nbNoeuds = 0; + protected boolean regulation; - /** - * Nb de parametres de Regulation - */ - protected int nbParamsRegulation = 0; + protected boolean sousFente; - /** - * nb de profils du modele. - */ - protected int nbProfils; - /** - * le nb de timesteps total - */ - protected int nbTimesSteps = 0; + protected PasDeTempsContainerNormal pdt = EMPTY_PDT_NORMAL; + protected PasDeTempsContainer pdtRegulation = EMPTY_PDT; + private EnteteContainer<FCBValueObject.EnteteProfil, FCBValueObject.ResProfil> containerProfils = EMPTY; - /** - * Nb de pas de temps Crue, different de Regulation - */ - protected int nbTimesStepsCrue = 0; - /** - * Nb de pas de temps Regulation, different de crue - */ - protected int nbTimesStepsRegulation = 0; + private EnteteContainer<FCBValueObject.EnteteBranche, FCBValueObject.ResBranche> containerBranches = EMPTY; - protected List<StructProfil> profils; - private boolean sousFente; - /** - * indice des positions de chaque pdt de crue, longueur variable - */ + private EnteteContainer<FCBValueObject.EnteteNoeud, FCBValueObject.ResNoeud> containerNoeuds = EMPTY; - protected TLongArrayList tableauIndicesPdtCrue; + private ByteOrder order; /** - * indice des positions de chaque pdt de regulation - */ - protected TLongArrayList tableauIndicesPdtRegul; - - /** - * Noms des differents parametres intervenant dans la regul: longueur variable. - */ - protected String[] tableauNomsParamRegulations; - - /** * Constructeur de la structure d'accès rapide fcb. * * @param file @@ -326,17 +284,50 @@ this.file = file; } - /** - * @param capacity - * @return - */ - protected ByteBuffer createBuffer(final int capacity) { + private ByteBuffer createByteBuffer(final int taille) { + final ByteBuffer allocate = ByteBuffer.allocate(taille); + if (order != null) { + allocate.order(order); + } + return allocate; + } - final ByteBuffer buffer = ByteBuffer.allocateDirect(capacity); + private <T extends FCBValueObject.AbstractEntete, R extends FCBValueObject.AbstractRes> R getResultat( + final int idxPdt, final String nomEMH, final R inout, final EnteteContainer<T, R> dataContainer) + throws IOException { - return buffer; + final long positionTimeStep = pdt.getPosition(idxPdt); + if (positionTimeStep < 0) { throw new IOException("io.fcb.timeStep.notFound.error"); } + final int idxBranche = dataContainer.getPosition(nomEMH); + if (idxBranche < 0) { throw new IOException("io.fcb.emh.notFound.error"); } + final ResBuilder<R> resBuilder = dataContainer.getResBuilder(); + if (resBuilder == null) { throw new IOException("io.fcb.emh.noBuilder.error"); } + // on se positionne au debut du profil + // +4 pour l'entier indiquant la longueur d'enregistrement du bloc. + // les donnees branches se trouvent apres les profils d'ou le + getTailleBlocProfil() + final long deb = positionTimeStep + resBuilder.getOffset(idxBranche); + final ByteBuffer bf = createByteBuffer(resBuilder.getTailleEnr()); + channel.read(bf, deb); + bf.rewind(); + R res = inout; + // si le parametre inout est null on le cree. + if (res == null) { + res = resBuilder.createRes(); + } + res.read(bf); + return res; + } + private int getTailleBlocBranche() { + return 8 + getNbBranches() * TAILLE_ENR_BRANCHE; + } + + private int getTailleBlocProfil() { + // 8 pour les 2 entiers englobantsl'enregistrement + return 8 + getNbProfils() * TAILLE_ENR_PROFIL; + } + /** * Cree un chanel pour le placer sur l'indice de position voulu. * @@ -348,297 +339,162 @@ } } - /** - * @return the commentDc - */ - public List<String> getCommentDc() { - return commentDc; + protected ByteOrder getOrder() { + return order; } /** - * @return the commentDh + * @param branches the branches to set */ - public List<String> getCommentDh() { - return commentDh; + protected void setBranches(final List<FCBValueObject.EnteteBranche> branches) { + this.containerBranches = new EnteteContainer<FCBValueObject.EnteteBranche, FCBValueObject.ResBranche>(branches, + new ResBuilderBranche()); } - /** - * @return the nbBranches - */ - public int getNbBranches() { - return nbBranches; + protected void setNoeuds(final List<FCBValueObject.EnteteNoeud> noeuds) { + this.containerNoeuds = new EnteteContainer<FCBValueObject.EnteteNoeud, FCBValueObject.ResNoeud>(noeuds, + new ResBuilderNoeud()); } - /** - * @return the nbProfils - */ - public int getNbProfils() { - return nbProfils; + protected void setOrder(final ByteOrder order) { + this.order = order; } - int getNbTimeStepCrue() { - return nbTimesStepsCrue; + protected void setPdt(final PasDeTempsContainerNormal pdt) { + this.pdt = pdt.getNbPdt() == 0 ? EMPTY_PDT_NORMAL : pdt; } - int getNbTimeStepRegulation() { - return nbTimesStepsRegulation; + protected void setPdtRegulation(final PasDeTempsContainer pdtRegulation) { + this.pdtRegulation = pdtRegulation.getNbPdt() == 0 ? EMPTY_PDT : pdtRegulation; } /** - * Recupere la ligne correspondante a la branche indiceBranche - * - * @param indiceBranche - * @return la branche demande + * @param profils the profils to set */ - public StructBranche getBranche(final int indiceBranche) { - return branches.get(indiceBranche); - // createChannel(); - // if (!channel.isOpen()) { return null; } - // - // final StructBranche structure = new StructBranche(); - // - // // -- position de la position voulue --// - // final long position = indicePostionHelperForBranches + indiceBranche; - // - // channel.position(position); - // - // // -- donnees de la forme --// - // // write(ifi2) ntyp(ib),imax(ib),(n0pr(ip,ib),ip=1,imax(ib)), - // // nombr(ib),nupam(ib),nupav(ib) - // - // // ntyp(NBR) i4 : type de la branche ib - // ByteBuffer buffer = createBuffer(4); - // channel.read(buffer); - // structure.typeBranche = buffer.getInt(); - // - // // imax(NBR) i4 : nombre de profil dans la branche ib - // buffer = createBuffer(4); - // channel.read(buffer); - // final int nbProfils = buffer.getInt(); - // structure.tableauIndiceProfils = new int[nbProfils]; - // - // // --n0pr(NPR,NBR) i2 : n° absolu du profil dont le n° est ip dans la branche ib --// - // buffer = createBuffer(4 * nbProfils); - // // -- on lit tous les num de profils d'un coup --// - // channel.read(buffer); - // - // // -- on les copie dans un tableau d'indices --// - // for (int i = 0; i < nbProfils; i++) { - // TODO faux, il fallait faire un getShort ! - // structure.tableauIndiceProfils[i] = buffer.getInt(); - // } - // - // // nombr(NBR) c8 : nom de la branche n° ib - // buffer = createBuffer(8); - // channel.read(buffer); - // final char[] nomChar = new char[8]; - // for (int i = 0; i < 8; i++) { - // nomChar[i] = buffer.getChar(); - // } - // structure.nom = new String(nomChar); - // - // // nupam(NBR) i4 : n° du profil amont de la branche ib - // buffer = createBuffer(4 * 2); - // channel.read(buffer); - // structure.profilAmont = buffer.getInt(); - // - // // nupav(NBR) i4 : n° du profil aval de la branche ib - // structure.profilAval = buffer.getInt(); - // - // return structure; - + protected void setProfils(final List<FCBValueObject.EnteteProfil> profils) { + this.containerProfils = new EnteteContainer<FCBValueObject.EnteteProfil, FCBValueObject.ResProfil>(profils, + new ResBuilderProfil()); } /** - * @param pdt - * @return - * @throws IOException + * @return the commentDc */ - public synchronized double getValuesCRUE(final int pdt) throws IOException { - - createChannel(); - if (!channel.isOpen()) { return 0; } - // on recupere la position de l'indice du pdt - - final long pos = tableauIndicesPdtCrue.get(pdt); - if (pos == -1) { return 0; } - channel.position(pos); - - // TODO Carole a terminer - - return 0; + public List<String> getCommentDc() { + return commentDc; } /** - * Recupere la ligne correspondante a la noeuds indiceNoeud. - * - * @param idxNd indice demande - * @return le noeud d'indice idxNd + * @return the commentDh */ - public synchronized StructNoeud getNoeud(final int idxNd) { - return noeuds.get(idxNd); + public List<String> getCommentDh() { + return commentDh; } /** - * Recupere la ligne correspondante a la profil indicePorfil. Attention longueur variable a cause des profils... - * - * @param indiceProfil - * @return données concernant le ieme profile. + * @return le container des branches */ - public synchronized StructProfil getProfil(final int indiceProfil) { - return profils.get(indiceProfil); - - // TODO vraiment n'importe quoi... - // createChannel(); - // if (!channel.isOpen()) { return null; } - // - // StructProfil structure = new StructProfil(); - // - // // -- position de la position voulue --// - // long position = indicePostionHelperForProfil + indiceProfil; - // - // channel.position(position); - // - // // write(ifi2) (tit(ipro),sngl(dist(ipro)),zfond(nuprfl(ipro)), ipro,ipro=1,iprm) - // - // // tit(NBPRO) c8 : noms des profils - // ByteBuffer buffer = createBuffer(8); - // channel.read(buffer); - // char[] nomChar = new char[8]; - // for (int i = 0; i < 8; i++) { - // nomChar[i] = buffer.getChar(); - // } - // structure.nom = new String(nomChar); - // - // // dist(NBPRO) r4 : distance entre les profils ipro-1 et ipro. - // // attention sngl transforme en reel donc 4 - // - // // zfond r4 : cote du fond du profil fluvial - // - // // on cree le buffer pour les zfond et dist pour iprm=nbProfils elements - // buffer = createBuffer((4 + 4) * nbProfilsModele); - // - // structure.distance = new double[nbProfilsModele]; - // structure.zfonds = new double[nbProfilsModele]; - // // TODO tout faux - // for (int i = 0; i < nbProfilsModele; i++) { - // structure.distance[i] = buffer.getFloat(); - // structure.zfonds[i] = buffer.getFloat(); - // } - // return structure; + public EnteteContainer<FCBValueObject.EnteteBranche, FCBValueObject.ResBranche> getContainerBranches() { + return containerBranches; } /** - * @param pdt - * @return - * @throws IOException + * @return le container des noeuds. */ - public synchronized StructRegulation getValuesRegulation(final int pdt) throws IOException { - - createChannel(); - if (!channel.isOpen()) { return null; } - // on recupere la position de l'indice du pdt - final long pos = tableauIndicesPdtRegul.get(pdt); - if (pos == -1) { return null; } - final StructRegulation structure = new StructRegulation(); - channel.position(pos); - - // on est a la position du nom du pdt et les 2 valeurs en + a lire - // write(9) test,sngl(t) - // write(9) (para(i),i=1,npar) - - ByteBuffer buffer = createBuffer(4); - channel.read(buffer); - structure.pdt = buffer.getFloat(); - - // para(npar) r4 : paramètres de régulation - buffer = createBuffer(4 * nbParamsRegulation); - structure.numPro = new double[nbParamsRegulatio... [truncated message content] |
From: <car...@us...> - 2009-06-02 17:50:32
|
Revision: 4831 http://fudaa.svn.sourceforge.net/fudaa/?rev=4831&view=rev Author: caroledel Date: 2009-06-02 17:50:17 +0000 (Tue, 02 Jun 2009) Log Message: ----------- STR : tests IHM : remplacement messages par codes dans fichier properties Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STOReader.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/resources/org/fudaa/dodico/crue/io/messages.properties trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueSTO.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/CruePersistanceErrorManager.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueModeleBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueApplicationManager.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueErrorManager.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheModeleFille.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleComparaisonScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleGenerationCrue9.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleInfosGenerales.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/test/MainTest.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ihmMessages.properties Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java 2009-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -4,7 +4,13 @@ */ package org.fudaa.dodico.crue.io.common; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Enumeration; +import java.util.List; +import java.util.ResourceBundle; /** * @author deniger @@ -16,12 +22,15 @@ // en les créant de la sorte, ALL_RESOURCE_BUNDLE et le parent de DC_RESOURCE qui est le parent de RESOURCE_BUNDLE private static final ResourceBundle ALL_RESOURCE_BUNDLE = ResourceBundle .getBundle("org.fudaa.dodico.crue.io.messages"); - public static final ResourceBundle DC_RESOURCE_BUNDLE = ResourceBundle + private static final ResourceBundle DC_RESOURCE_BUNDLE = ResourceBundle .getBundle("org.fudaa.dodico.crue.io.adrienMessages"); - public static final ResourceBundle DH_RESOURCE_BUNDLE = ResourceBundle + private static final ResourceBundle DH_RESOURCE_BUNDLE = ResourceBundle .getBundle("org.fudaa.dodico.crue.io.caroleMessages"); + private static final ResourceBundle IHM_RESOURCE_BUNDLE = ResourceBundle + .getBundle("org.fudaa.dodico.crue.io.ihmMessages"); + /** ResourceBundle regroupant tous les ResourceBundle définis par des fichiers properties distincts */ public static final ResourceBundle RESOURCE_BUNDLE = new TempResourceBundle(ALL_RESOURCE_BUNDLE, DC_RESOURCE_BUNDLE, - DH_RESOURCE_BUNDLE); + DH_RESOURCE_BUNDLE, IHM_RESOURCE_BUNDLE); protected static class TempResourceBundle extends ResourceBundle { 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-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STOReader.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -8,7 +8,6 @@ import java.util.ArrayList; import java.util.List; -import org.fudaa.dodico.crue.io.TestCrueSTO; import org.fudaa.dodico.crue.io.neuf.STOSequentialReader.DonneesBranche; import org.fudaa.dodico.crue.io.neuf.STOSequentialReader.DonneesGenProfil; import org.fudaa.dodico.crue.io.neuf.STOSequentialReader.DonneesGeneralesModele; @@ -19,10 +18,7 @@ import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase; /** - * Fred: code repris pour reprendre le NativeNIOHelper. voir {@link TestCrueSTO} pour les tests. POur l'instant, on lit - * tout d'un bloc. Par la suite, il sera question d'interroger sequentiellement les données. Dans le code, tous les - * blocs sont lus correctement jusqu'au branche: les readData sont posées ou il faut. Il reste a completer pour les - * noeud et les profils et stocker les resultats et à compléter le modèle metier avec les données. + * Classe permettant de lire le fichier STO en totalité. * * @author CDE */ @@ -91,38 +87,38 @@ final ByteBuffer readData = helper.getBuffer(); donnesGen.setNpr(readData.getInt()); - System.out.print("nPr = " + donnesGen.getNpr() + " | "); + // System.out.print("nPr = " + donnesGen.getNpr() + " | "); donnesGen.setNbr(readData.getInt()); - System.out.print("nBr = " + donnesGen.getNbr() + " | "); + // System.out.print("nBr = " + donnesGen.getNbr() + " | "); donnesGen.setNtpr(readData.getInt()); - System.out.print("ntpr = " + donnesGen.getNtpr() + " | "); + // System.out.print("ntpr = " + donnesGen.getNtpr() + " | "); donnesGen.setNbpro(readData.getInt()); - System.out.print("NbPro = " + donnesGen.getNbpro() + " | "); + // System.out.print("NbPro = " + donnesGen.getNbpro() + " | "); nbHaut = readData.getInt(); donnesGen.setNbhaut(nbHaut); - System.out.print("NbHaut = " + donnesGen.getNbhaut() + " | "); + // System.out.print("NbHaut = " + donnesGen.getNbhaut() + " | "); donnesGen.setNbpmax(readData.getInt()); - System.out.print("Nbpmax = " + donnesGen.getNbpmax() + " | "); + // System.out.print("Nbpmax = " + donnesGen.getNbpmax() + " | "); donnesGen.setNbbram(readData.getInt()); - System.out.print("Nbbram = " + donnesGen.getNbbram() + " | "); + // System.out.print("Nbbram = " + donnesGen.getNbbram() + " | "); donnesGen.setNtsing(readData.getInt()); - System.out.print("Ntsing = " + donnesGen.getNtsing() + " | "); + // System.out.print("Ntsing = " + donnesGen.getNtsing() + " | "); donnesGen.setNbstr(readData.getInt()); - System.out.print("Nbstr = " + donnesGen.getNbstr() + " | "); + // System.out.print("Nbstr = " + donnesGen.getNbstr() + " | "); donnesGen.setNblitmax(readData.getInt()); - System.out.print("Nblitmax = " + donnesGen.getNblitmax() + " | "); + // System.out.print("Nblitmax = " + donnesGen.getNblitmax() + " | "); donnesGen.setNpo(readData.getInt()); - System.out.println("Npo = " + donnesGen.getNpo() + " | "); + // System.out.println("Npo = " + donnesGen.getNpo() + " | "); data.setParametresGeneraux(donnesGen); } @@ -141,31 +137,31 @@ iBmax = readData.getInt(); dims.setIBmax(iBmax); - System.out.print("iBmax = " + iBmax + " | "); + // System.out.print("iBmax = " + iBmax + " | "); nbPoin = readData.getInt(); dims.setNbPoin(nbPoin); - System.out.print("NbPoin = " + nbPoin + " | "); + // System.out.print("NbPoin = " + nbPoin + " | "); iPrM = readData.getInt(); dims.setIPrM(iPrM); - System.out.print("iPrM = " + iPrM + " | "); + // System.out.print("iPrM = " + iPrM + " | "); dims.setIPrFlM(readData.getInt()); - System.out.print("iPrFlM = " + dims.getIPrFlM() + " | "); + // System.out.print("iPrFlM = " + dims.getIPrFlM() + " | "); dims.setNSing(readData.getInt()); - System.out.print("nSing = " + dims.getNSing() + " | "); + // System.out.print("nSing = " + dims.getNSing() + " | "); dims.setLarBan(readData.getInt()); - System.out.print("LarBan = " + dims.getLarBan() + " | "); + // System.out.print("LarBan = " + dims.getLarBan() + " | "); dims.setLReclProf(readData.getInt()); - System.out.print("Lrecl_Prof = " + dims.getLReclProf() + " | "); + // System.out.print("Lrecl_Prof = " + dims.getLReclProf() + " | "); nbRecProf = readData.getInt(); dims.setNbRecProf(nbRecProf); - System.out.print("NbRec_Prof = " + nbRecProf + " | "); + // System.out.print("NbRec_Prof = " + nbRecProf + " | "); data.setDimensionsModele(dims); } @@ -183,16 +179,16 @@ final ByteBuffer buffer = helper.readData(); donnees.setDal(buffer.getDouble()); - System.out.print("Dal = " + donnees.getDal() + " | "); + // System.out.print("Dal = " + donnees.getDal() + " | "); donnees.setG(buffer.getDouble()); - System.out.print("g = " + donnees.getG() + " | "); + // System.out.print("g = " + donnees.getG() + " | "); donnees.setTheta(buffer.getDouble()); - System.out.print("Theta = " + donnees.getTheta() + " | "); + // System.out.print("Theta = " + donnees.getTheta() + " | "); donnees.setZRef(buffer.getFloat()); - System.out.print("Zref = " + donnees.getZRef() + " | "); + // System.out.print("Zref = " + donnees.getZRef() + " | "); String titreDc = ""; for (int i = 0; i < 5; i++) { @@ -200,10 +196,10 @@ titreDc += temp; } donnees.setTitreDc(titreDc); - System.out.print("TitreDc = " + donnees.getTitreDc() + " | "); + // System.out.print("TitreDc = " + donnees.getTitreDc() + " | "); donnees.setNomDc(helper.getStingFromBuffer(60)); - System.out.println("NomDc = " + donnees.getNomDc() + " | "); + // System.out.println("NomDc = " + donnees.getNomDc() + " | "); data.setDonneesGenerales(donnees); } @@ -225,10 +221,10 @@ DonneesSpecProf donneesSpecProf = new DonneesSpecProf(); donneesSpecProf.setNomProfil(helper.getStingFromBuffer(16)); - System.out.print("nomProfil = " + donneesSpecProf.getNomProfil() + " | "); + // System.out.print("nomProfil = " + donneesSpecProf.getNomProfil() + " | "); donneesSpecProf.setNomCasier(helper.getStingFromBuffer(16)); - System.out.println("nomCasier = " + donneesSpecProf.getNomCasier() + " | "); + // System.out.println("nomCasier = " + donneesSpecProf.getNomCasier() + " | "); listeDonneesSpecProf.add(donneesSpecProf); } @@ -258,36 +254,36 @@ // Apparemment, erreur dans dictionnaire de données car doit être codé sur 16 caractères (au lieu de 8) // donneesBranche.setNomBr(helper.getStingFromBuffer(8)); donneesBranche.setNomBr(helper.getStingFromBuffer(16)); - System.out.print("nomBr = " + donneesBranche.getNomBr() + " | "); + // System.out.print("nomBr = " + donneesBranche.getNomBr() + " | "); donneesBranche.setNTyp(readData.getInt()); - System.out.print("nTyp = " + donneesBranche.getNTyp() + " | "); + // System.out.print("nTyp = " + donneesBranche.getNTyp() + " | "); final int imax = readData.getInt(); donneesBranche.setIMax(imax); - System.out.print("iMax = " + donneesBranche.getIMax() + " | "); + // System.out.print("iMax = " + donneesBranche.getIMax() + " | "); donneesBranche.setNuPam(readData.getInt()); - System.out.print("nuPam = " + donneesBranche.getNuPam() + " | "); + // System.out.print("nuPam = " + donneesBranche.getNuPam() + " | "); donneesBranche.setNuPav(readData.getInt()); - System.out.print("nuPav = " + donneesBranche.getNuPav() + " | "); + // System.out.print("nuPav = " + donneesBranche.getNuPav() + " | "); donneesBranche.setRuiBra(readData.getFloat()); - System.out.print("ruiBra = " + donneesBranche.getRuiBra() + " | "); + // System.out.print("ruiBra = " + donneesBranche.getRuiBra() + " | "); final int nbSing = readData.getInt(); donneesBranche.setNbSing(nbSing); - System.out.print("nbSing = " + donneesBranche.getNbSing() + " | "); + // System.out.print("nbSing = " + donneesBranche.getNbSing() + " | "); donneesBranche.setNSing(readData.getInt()); - System.out.print("nSing = " + donneesBranche.getNSing() + " | "); + // System.out.print("nSing = " + donneesBranche.getNSing() + " | "); final int n = readData.getInt(); donneesBranche.setN(n); - System.out.print("n = " + donneesBranche.getN() + " | "); + // System.out.print("n = " + donneesBranche.getN() + " | "); donneesBranche.setSinuo(readData.getFloat()); - System.out.print("sinuo = " + donneesBranche.getSinuo() + " | "); + // System.out.print("sinuo = " + donneesBranche.getSinuo() + " | "); donneesBranche.setAlpha(readData.getFloat()); - System.out.println("alpha = " + donneesBranche.getAlpha() + " | "); + // System.out.println("alpha = " + donneesBranche.getAlpha() + " | "); // write(isto) (n0pr(i,ib),i=1,imax(ib)) readData = helper.readData(); @@ -295,9 +291,9 @@ // 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()); - System.out.print("n0Pr = " + donneesBranche.getN0Pr() + " | "); + // System.out.print("n0Pr = " + donneesBranche.getN0Pr() + " | "); } - System.out.println(""); + // System.out.println(""); // if(n.gt.0) then // write(isto) (sing(i),i=nsing(ib)+1,nsing(ib+1)) @@ -306,10 +302,10 @@ float[] sings = new float[nbSing]; for (int j = 0; j < nbSing; j++) { sings[j] = readData.getFloat(); - System.out.print("sing = " + sings[j] + " | "); + // System.out.print("sing = " + sings[j] + " | "); } donneesBranche.setSing(sings); - System.out.println(""); + // System.out.println(""); } @@ -338,25 +334,25 @@ // Apparemment, erreur dans dictionnaire de données car doit être codé sur 16 caractères (au lieu de 8) // donneesNoeud.setNomPoi(helper.getStingFromBuffer(8)); donneesNoeud.setNomPoi(helper.getStingFromBuffer(16)); - System.out.print("nomPoi = " + donneesNoeud.getNomPoi() + " | "); + // System.out.print("nomPoi = " + donneesNoeud.getNomPoi() + " | "); final int nuCas = readData.getInt(); donneesNoeud.setNuCas(nuCas); - System.out.print("nuCas = " + nuCas + " | "); + // System.out.print("nuCas = " + nuCas + " | "); final int nbBran = readData.getInt(); donneesNoeud.setNbBran(nbBran); - System.out.println("nbBran = " + nbBran + " | "); + // System.out.println("nbBran = " + nbBran + " | "); // write(isto) (nubran(i,ipoin),i=1,nbbran(ipoin)) readData = helper.readData(); int[] numerosBranches = new int[nbBran]; for (int j = 0; j < nbBran; j++) { numerosBranches[j] = readData.getInt(); - System.out.print("nuBran = " + numerosBranches[j] + " | "); + // System.out.print("nuBran = " + numerosBranches[j] + " | "); } donneesNoeud.setNumerosBranches(numerosBranches); - System.out.println(""); + // System.out.println(""); // Enregistrement si le noeud est un casier // if(nucas(ipoin).ne.0) then @@ -364,19 +360,19 @@ if (nuCas != 0) { readData = helper.readData(); donneesNoeud.setZfonca(readData.getFloat()); - System.out.print("zfonca = " + donneesNoeud.getZfonca() + " | "); + // System.out.print("zfonca = " + donneesNoeud.getZfonca() + " | "); donneesNoeud.setRuicas(readData.getFloat()); - System.out.print("ruicas = " + donneesNoeud.getRuicas() + " | "); + // System.out.print("ruicas = " + donneesNoeud.getRuicas() + " | "); final int jmax = (11 + 2 * nbHaut); float[] sings = new float[jmax]; for (int j = 0; j < jmax; j++) { sings[j] = readData.getFloat(); - System.out.print("sing = " + sings[j] + " | "); + // System.out.print("sing = " + sings[j] + " | "); } donneesNoeud.setSings(sings); - System.out.println(""); + // System.out.println(""); } @@ -405,17 +401,17 @@ // Apparemment, erreur dans dictionnaire de données car doit être codé sur 16 caractères (au lieu de 8) // donneesProfil.setTit(helper.getStingFromBuffer(8)); donneesProfil.setTit(helper.getStingFromBuffer(16)); - System.out.print("tit = " + donneesProfil.getTit() + " | "); + // System.out.print("tit = " + donneesProfil.getTit() + " | "); donneesProfil.setNuPrFl(readData.getInt()); - System.out.print("nuPrFl = " + donneesProfil.getNuPrFl() + " | "); + // System.out.print("nuPrFl = " + donneesProfil.getNuPrFl() + " | "); donneesProfil.setDist(readData.getFloat()); - System.out.print("dist = " + donneesProfil.getDist() + " | "); + // System.out.print("dist = " + donneesProfil.getDist() + " | "); donneesProfil.setCDiv(readData.getFloat()); - System.out.print("cDiv = " + donneesProfil.getCDiv() + " | "); + // System.out.print("cDiv = " + donneesProfil.getCDiv() + " | "); donneesProfil.setCConv(readData.getFloat()); - System.out.print("cConv = " + donneesProfil.getCConv() + " | "); + // System.out.print("cConv = " + donneesProfil.getCConv() + " | "); donneesProfil.setCPond(readData.getFloat()); - System.out.println("cPond = " + donneesProfil.getCPond() + " | "); + // System.out.println("cPond = " + donneesProfil.getCPond() + " | "); donnees.add(donneesProfil); } @@ -427,7 +423,7 @@ * @param crueData * @param data */ - private void alimenteObjetsMetier(final CrueData crueData, final STOSequentialReader data) { + public static void alimenteObjetsMetier(final CrueData crueData, final STOSequentialReader data) { // pour chaque branche ( récupérée avec le nom) il faudra // recuperer l'EMH et lui associe les valeurs qui vont bien @@ -443,13 +439,6 @@ if (donneesGenModele != null) { pnum.zref = donneesGenModele.getZRef(); - // ParamNumCalcPseudoPerm pseudoPerm = pnum.paramNumCalcPseudoPerm; - // if (pseudoPerm == null) { - // pseudoPerm = new ParamNumCalcPseudoPerm(); - // pnum.paramNumCalcPseudoPerm = pseudoPerm; - // } - // TODO cf si des donnees à completer ici - ParamNumCalcTrans calcTrans = pnum.paramNumCalcTrans; if (calcTrans == null) { calcTrans = new ParamNumCalcTrans(); 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 2009-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRFactory.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -206,10 +206,10 @@ } // Calcul des abscisses de lit - final int nbLitMax = donneesSection.getNbLitMax(); - float[] abscissesDeLit = new float[nbLitMax]; + final int nbLits = donneesSection.getNbLit(); + float[] abscissesDeLit = new float[nbLits]; - for (int i = 0; i < nbLitMax; i++) { + for (int i = 0; i < nbLits; i++) { // TODO CDE : voir quelle valeur mettre ici abscissesDeLit[i] = 0; } 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-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRSequentialReader.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -271,21 +271,17 @@ donneesSection.setDonneesLimites(limites); } - if (nTypBra != -1) { - DonneesSectionPourBranche donneesBranche = null; - if (nTypBra == 0 || nTypBra == 9) { - donneesBranche = getBranche0Ou9(bf); - } else { - donneesBranche = getAutreBranche(bf, nbLit); - } - donneesSection.setDonneesPourBranche(donneesBranche); - // On enregistre la valeur du nombre de pas de hauteur par section car cela permettra de calculer la liste des - // points z sur cette hauteur pour l'affection des loisFF - donneesSection.setNbHaut(nbHaut); - // On enregistre la valeur du nombre maximal de lits par section car cela permettra de calculer la liste des - // points pour l'affection des loisFF - donneesSection.setNbLitMax(nbLitMax); + DonneesSectionPourBranche donneesBranche = null; + if (nTypBra == 0 || nTypBra == 9) { + donneesBranche = getBranche0Ou9(bf); + } else { + donneesBranche = getAutreBranche(bf, nbLit); } + donneesSection.setDonneesPourBranche(donneesBranche); + // On enregistre la valeur du nombre de pas de hauteur par section car cela permettra de calculer la liste des + // points z sur cette hauteur pour l'affection des loisFF + donneesSection.setNbHaut(nbHaut); + // System.out.println(); return donneesSection; @@ -776,9 +772,8 @@ private DonneesLimites donneesLimites; private DonneesSectionPourBranche donneesPourBranche; - /** Données servant lors de l'alimentation métier des lois FF */ + /** Donnée servant lors de l'alimentation métier des lois FF */ private int nbHaut; - private int nbLitMax; /** * @return the cDigueD @@ -1199,20 +1194,6 @@ public void setNbHaut(final int nbHaut) { this.nbHaut = nbHaut; } - - /** - * @return the nbLitMax - */ - public int getNbLitMax() { - return nbLitMax; - } - - /** - * @param nbLitMax the nbLitMax to set - */ - public void setNbLitMax(final int nbLitMax) { - this.nbLitMax = nbLitMax; - } } /** Added: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ihmMessages.properties =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ihmMessages.properties (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ihmMessages.properties 2009-06-02 17:50:17 UTC (rev 4831) @@ -0,0 +1,117 @@ +ihm.error.comparaison.scenario1 = Erreur, il faut au moins 2 sc\u00E9narios disponibles dans l'\u00E9tude. +ihm.error.comparaison.scenario2 = Erreur, aucun sc\u00E9nario 1 s\u00E9lectionn\u00E9 +ihm.error.comparaison.scenario3 = Erreur, aucun sc\u00E9nario 2 s\u00E9lectionn\u00E9 +ihm.error.comparaison.scenario4 = Erreur, il faut s\u00E9lectionner 2 sc\u00E9narios diff\u00E9rents. +ihm.error.modele.empty = Il n'existe pas de mod\u00E8les pour le fichier etude charg\u00E9 +ihm.error.sousmodele.empty = Pas de sous mod\u00E8les d\u00E9finis pour ce mod\u00E8le +ihm.titre.chargement.projet = Chargement projet +ihm.modeles.dispos = Modeles disponibles +ihm.ss.modeles.dispos = Sous Modeles disponibles +ihm.scenarios.dispos = Sc\xE9narios disponibles +ihm.scenario.courant = Sc\xE9nario courant +ihm.par = par +ihm.enregistrement = Enregistrement +ihm.confirmation = Confirmation +ihm.confirm.fermeture.etude = Une \xE9tude est d\xE9ja charg\xE9e. Cette op\xE9ration la fermera automatiquement.\n Voulez-vous continuer? +ihm.question.fermeture.etude = Voulez-vous fermer l'\xE9tude courante ? +ihm.emh = EMH +ihm.gerer.emhs = G\xE9rer EMHs +ihm.ouvrir.etude = Ouvrir +ihm.gerer.etude = G\xE9rer \xE9tude +ihm.fermer.etude = Fermer \xE9tude +ihm.gerer.scenarios = G\xE9rer sc\xE9narios +ihm.enregistrer.scenario = Enregistrer sc\xE9nario +ihm.operations = Op\xE9rations +ihm.comparaison.scenarios = Comparaison +ihm.chgt.format.crue9.crue10 = Crue 9 <=> Crue 10 +ihm.gerer.modeles = G\xE9rer mod\xE8les +ihm.crue = Crue +ihm.editeur = Editeur +ihm.executer = Ex\xE9cuter... +ihm.ouvrir.avec = Ouvrir avec... +ihm.texte = texte +ihm.fermer.applis = Fermer toutes les applications +ihm.soumettre.commentaire = Soumettre un commentaire +ihm.applis = Applications +ihm.chargement = Chargement +ihm.scenario.courant = Le sc\xE9nario courant +ihm.confirm.chargt.scenario = va \xEAtre charg\xE9. Voulez-vous continuer ? +ihm.chargt.fichiers.scenario = Chargement des fichiers du scenario +ihm.dcFailed.error = La lecture du fichier DC a \xE9chou\xE9e: {0} +ihm.drsoFailed.error = La lecture du fichier DRSO a \xE9chou\xE9e: {0} +ihm.fileNotExist.error = Il n'existe pas de fichier \xE0 l'emplacement suivant: {0} +ihm.noCurrentModele.error = Pas de mod\xE8le pour le sc\xE9nario. +ihm.noCurrentRun.error = Pas de run courant pour le sc\xE9nario. +ihm.noCurrentSousModele.error = Pas de sous-mod\xE8le pour le sc\xE9nario. +ihm.notAnyModelesFiles.error = Il manque un fichier dans un mod\xE8le. Il faut une liste fixe de fichiers de niveau mod\xE8le : (OPTR), OPTG, OPTI, PNUM, DPTI. +ihm.notAnySousModelesFiles.error = Il manque un fichier dans un sous-mod\xE8le. Il faut une liste fixe de fichiers de niveau sous-mod\xE8le : DRSO, DPTG, DFRT, DCSP. +ihm.res.chargt.scenario = R\xE9sultats du Chargement sc\xE9nario +ihm.fichiers.scenario = Fichiers existants dans le sc\xE9nario +ihm.confirm.chargt.scenario1 = Etes-vous sur de vouloir charger ce sc\xE9nario +ihm.confirm.chargt.scenario2 = ? Il deviendra le sc\xE9nario courant. +ihm.charger.scenario = Charger Sc\xE9nario +ihm.drso.genere = Fichier DRSO g\xE9n\xE9r\xE9 dans +ihm.dfrt.genere = Fichier DFRT g\xE9n\xE9r\xE9 dans +ihm.dcsp.genere = Fichier DCSP g\xE9n\xE9r\xE9 dans +ihm.dptg.genere = Fichier DPTG g\xE9n\xE9r\xE9 dans +ihm.optg.genere = Fichier OPTG g\xE9n\xE9r\xE9 dans +ihm.pnum.genere = Fichier PNUM g\xE9n\xE9r\xE9 dans +ihm.dpti.genere = Fichier DPTI g\xE9n\xE9r\xE9 dans +ihm.ocal.genere = Fichier OCAL g\xE9n\xE9r\xE9 dans +ihm.ores.genere = Fichier ORES g\xE9n\xE9r\xE9 dans +ihm.pcal.genere = Fichier PCAL g\xE9n\xE9r\xE9 dans +ihm.dlhy.genere = Fichier DLHY g\xE9n\xE9r\xE9 dans +ihm.dclm.genere = Fichier DCLM g\xE9n\xE9r\xE9 dans +ihm.dc.genere = Fichier DC g\xE9n\xE9r\xE9 dans +ihm.dh.genere = Fichier DH g\xE9n\xE9r\xE9 dans +ihm.analyse = Analyse +ihm.gestion.modeles = Gestion des mod\xE8les +ihm.ss.modeles.associes = Sous mod\xE8les associ\xE9s +ihm.fiche.scenario = Fiche Sc\xE9nario +ihm.label.id.scenario = Id Scenario: +ihm.label.type = Type: +ihm.label.scenario.courant = Sc\xE9nario courant: +ihm.label.commentaire = Commentaire: +ihm.label.modifie = Modifi\xE9: +ihm.titre.fichiers.scenario = Fichiers Sc\xE9narios +ihm.modeles = Mod\xE8les +ihm.comparaison.scenarios2 = Comparaison de sc\xE9narios +ihm.choix.scenario1 = Choisir Sc\xE9nario 1 +ihm.choix.scenario2 = Choisir Sc\xE9nario 2 +ihm.res.comparaison = R\xE9sultat comparaison +ihm.bouton.valider = Valider +ihm.affichage.emhs = Affichage des EMHs +ihm.emhs.scenario = EMHs contenues dans le sc\xE9nario courant +ihm.frame.chgt.format.crue9.crue10 = G\xE9n\xE9ration Crue 9 <=> Crue 10 +ihm.onglet.crue10 = g\xE9n\xE9rer Crue 10 +ihm.onglet.crue9 = g\xE9n\xE9rer Crue 9 +ihm.res.generation.crue10 = G\xE9n\xE9ration Crue 10 +ihm.res.generation.crue9 = G\xE9n\xE9ration Crue 9 +ihm.label.scen.crue9.fich.crue10 = Veuillez choisir le sc\xE9nario Crue 9 et indiquer les fichiers Crue 10 \xE0 g\xE9n\xE9rer +ihm.label.scen.crue10.fich.crue9 = Veuillez choisir le sc\xE9nario Crue 10 et indiquer les fichiers Crue 9 \xE0 g\xE9n\xE9rer +ihm.nom.fichier.crue10 = Choisir un nom de fichier Crue 10. Tous les fichiers g\xE9n\xE9r\xE9s porteront ce nom avec les suffixes correspondants. +ihm.nom.fichier.crue9 = Choisir un nom de fichier Crue 9. Tous les fichiers g\xE9n\xE9r\xE9s porteront ce nom avec les suffixes correspondants. +ihm.bouton.parcourir = Parcourir... +ihm.emplacement.fichier = Emplacement du fichier +ihm.transformation.crue9.crue10 = Transformation Crue 9 <=> Crue 10 +ihm.infos.etude = Infos Etude +ihm.label.etude = Etude: +ihm.label.creation = Creation: +ihm.label.auteur = Auteur: +ihm.bouton.parcourir2 = ... +ihm.instruc.visualiser.scenario = Pour visualiser le sc\xE9nario, cliquer dessus ou sur le bouton ci-contre +ihm.gestion.scenarios = Gestion des Sc\xE9narios +ihm.choix.ligne.scenatio = Veuillez choisir une ligne correspondant \xE0 un sc\xE9nario +ihm.choix.scenario = Veuillez selectionner un sc\xE9nario. +ihm.validation.connexite = Validation Connexit\xE9 + + + + + + + + + + + Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/messages.properties =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/messages.properties 2009-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/messages.properties 2009-06-02 17:50:17 UTC (rev 4831) @@ -3,16 +3,6 @@ #Ne pas faire attention aux accents les laisser mais ne pas les traduire en UTF-8 Test = Test -compute.error.dcFailed = La lecture du fichier DC a echou\u00E9e: {0} -compute.error.drsoFailed = La lecture du fichier DRSO a echou\u00E9e: {0} -compute.error.fileNotExist = Il n'existe pas de fichier a l'emplacement suivant: {0} -compute.error.noCurrentModeles = Pas de mod\u00E8les pour le sc\u00E9nario. -compute.error.noCurrentRun = Pas de run courant pour le sc\u00E9nario. -compute.error.noCurrentSousModeles = Pas de sous modeles pour le sc\u00E9nario. -compute.error.notAnyModelesFiles = Il manque un fichier dans un sous modeles. Iil faut une liste fixe de fichiers de niveau mod\u00E8le : (OPTR), OPTG, OPTI, PNUM, DPTI. -compute.error.notAnyScenarioFiles = Il manque un fichier dans un sous mod\u00E8les. Il faut une liste fixe de fichiers de niveau sc\u00E9nario : OCAL, ORES, PCAL, DCLM, DLHY. -compute.error.notAnySousModelesFiles = Il manque un fichier dans un sous-mod\u00E8les. Il faut ene liste fixe de fichiers de niveau sous-mod\u00E8le : DRSO, DPTG, DFRT, DCSP. - crue.io.fcb.notValid = Le fichier FCB n'est pas valide crue.io.sto.notValid = Le fichier STO n'est pas valide crue.io.str.notValid = Le fichier STR n'est pas valide @@ -29,13 +19,6 @@ generate.error.noScenarioSelected = Aucun sc\u00E9nario n'a a \u00E9t\u00E9 s\u00E9lectionn\u00E9 -ihm.error.comparaison.scenario1 = Erreur, il faut au moins 2 sc\u00E9narios disponibles dans l'\u00E9tude. -ihm.error.comparaison.scenario2 = Erreur, aucun sc\u00E9nario 1 s\u00E9lectionn\u00E9 -ihm.error.comparaison.scenario3 = Erreur, aucun sc\u00E9nario 2 s\u00E9lectionn\u00E9 -ihm.error.comparaison.scenario4 = Erreur, il faut s\u00E9lectionner 2 sc\u00E9narios diff\u00E9rents. -ihm.error.modele.empty = Il n'existe pas de mod\u00E8les pour le fichier etude charg\u00E9 -ihm.error.sousmodele.empty = Pas de sous mod\u00E8les d\u00E9finis pour ce mod\u00E8le - io.FileNotFoundException.error = Le fichier {0} n'existe pas io.UnknownLine.error = Ligne {0}: La ligne de type {1} n'est pas g\u00E9r\u00E9e io.convert.PtEvolutionFF.error = Impossible de convertir la valeur '{0}' en 2 valeurs x,y Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueSTO.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueSTO.java 2009-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueSTO.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -5,7 +5,9 @@ import org.fudaa.dodico.crue.common.AbstractTestCase; import org.fudaa.dodico.crue.io.common.CrueIOResu; +import org.fudaa.dodico.crue.io.neuf.STOReader; import org.fudaa.dodico.crue.io.neuf.STOSequentialReader; +import org.fudaa.dodico.crue.metier.CrueData; /** * @author CDE @@ -19,7 +21,7 @@ * */ public void testLectureSTOModele4() { - CrueIOResu<STOSequentialReader> res = testLectureFichierSTO(FICHIER_TEST_MODELE4_STO_XML); + testLectureFichierSTO(FICHIER_TEST_MODELE4_STO_XML); } /** @@ -36,9 +38,21 @@ * @return List. */ private CrueIOResu<STOSequentialReader> testLectureFichierSTO(final String path) { + + // Lecture DH (qui inclut la lecture de DC) + final TestCrueDH testDH = new TestCrueDH(); + final CrueData data = testDH.testLecture(); + + // Lecture STO final CrueIOResu<STOSequentialReader> read = AbstractTestCase.readBinaire(this, Crue9FileFormatFactory .getSTOFileFormat(), path); assertNotNull(read); + + STOSequentialReader stoSeq = read.getMetier(); + data.setSto(stoSeq); + + STOReader.alimenteObjetsMetier(data, stoSeq); + return read; } Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/CruePersistanceErrorManager.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/CruePersistanceErrorManager.java 2009-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/CruePersistanceErrorManager.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -77,7 +77,7 @@ final JPanel container = new JPanel(new BorderLayout()); container.add(new JScrollPane(table), BorderLayout.CENTER); - container.add(new JLabel(EbliResource.EBLI.getString("Op�ration termin�. Informations")), BorderLayout.NORTH); + container.add(new JLabel(EbliResource.EBLI.getString("Opérations terminées. Informations")), BorderLayout.NORTH); final JButton ajouter_ = new JButton("Valider", EbliResource.EBLI.getIcon("crystal_valider")); ajouter_.addActionListener(new ActionListener() { Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueModeleBuilder.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueModeleBuilder.java 2009-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueModeleBuilder.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -81,11 +81,11 @@ } public static BuList buildListModele(final List<EMHModeleBase> baseModeles) { - return buildListModele(baseModeles, FCrueResource.getS("Modeles disponibles")); + return buildListModele(baseModeles, FCrueResource.getS("ihm.modeles.dispos")); } public static BuList buildListSousModele(final List<EMHModeleBase> baseModeles) { - return buildListModele(baseModeles, FCrueResource.getS("Sous Modeles disponibles")); + return buildListModele(baseModeles, FCrueResource.getS("ihm.ss.modeles.dispos")); } } Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java 2009-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -5,9 +5,6 @@ import javax.swing.BorderFactory; import javax.swing.DefaultListModel; -import com.memoire.bu.BuLabel; -import com.memoire.bu.BuList; - import org.fudaa.dodico.crue.metier.EMHModeleBase; import org.fudaa.dodico.crue.metier.EMHModeleRun; import org.fudaa.dodico.crue.metier.EMHRun; @@ -15,9 +12,19 @@ import org.fudaa.dodico.crue.metier.EMHproject; import org.fudaa.dodico.crue.metier.FichierCrue; import org.fudaa.ebli.visuallibrary.graphe.GrapheCellRenderer; -import org.fudaa.fudaa.crue.builder.CrueTreeProject.*; +import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeFile; +import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeModele; +import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeModeleRun; +import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeRun; +import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeRunCourant; +import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeScenario; +import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeScenarioCourant; +import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeScenarioModel; import org.fudaa.fudaa.crue.common.FCrueResource; +import com.memoire.bu.BuLabel; +import com.memoire.bu.BuList; + /** * G�re les interfaces relative � un sc�nario Crue. G�re le lien entre un EMHScenario m�tier et l'interface propos� par * les actions sc�narios. @@ -45,7 +52,7 @@ final BuList liste = new BuList(model); liste.setCellRenderer(new GrapheCellRenderer()); if (setBorder) { - liste.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Scénarios disponibles"))); + liste.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("ihm.scenarios.dispos"))); } return liste; } @@ -167,7 +174,7 @@ final BuList liste = new BuList(model); liste.setCellRenderer(new GrapheCellRenderer()); - liste.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Scénario courant"))); + liste.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("ihm.scenario.courant"))); return liste; } Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java 2009-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -62,7 +62,7 @@ } else if (column == 3) { if (s.getInfosVersions() != null && s.getInfosVersions().getDateDerniereModif() != null && s.getInfosVersions().getAuteurDerniereModif() != null) { - return s.getInfosVersions().getDateDerniereModif() + FCrueResource.getS("par") + " " + return s.getInfosVersions().getDateDerniereModif() + FCrueResource.getS("ihm.par") + " " + s.getInfosVersions().getAuteurDerniereModif(); } else { return unknowInfo; Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -5,9 +5,6 @@ import java.awt.event.ActionEvent; import java.io.File; -import com.memoire.bu.*; -import com.memoire.fu.FuLib; - import org.fudaa.dodico.crue.io.Crue10FileFormatFactory; import org.fudaa.dodico.crue.metier.EMHproject; import org.fudaa.fudaa.commun.FudaaHelpPDFViewer; @@ -27,6 +24,21 @@ import org.fudaa.fudaa.crue.view.CrueFilleScenarioManager; import org.jdesktop.swingx.JXTreeTable; +import com.memoire.bu.BuColumn; +import com.memoire.bu.BuInformationsDocument; +import com.memoire.bu.BuInformationsSoftware; +import com.memoire.bu.BuList; +import com.memoire.bu.BuMainPanel; +import com.memoire.bu.BuMenu; +import com.memoire.bu.BuMenuBar; +import com.memoire.bu.BuPanel; +import com.memoire.bu.BuPreferences; +import com.memoire.bu.BuPrinter; +import com.memoire.bu.BuResource; +import com.memoire.bu.BuScrollPane; +import com.memoire.bu.BuTaskView; +import com.memoire.fu.FuLib; + /** * Implementation du logiciel crue. * @@ -125,12 +137,12 @@ private BuMenu buildEtudeMenu() { BuMenu menu = new BuMenu(BuResource.BU.getString("Etude"), "MenuETUDE"); - menu.addMenuItem(FCrueResource.getS("Ouvrir"), "OUVRIRETUDE", FCrueResource.CRUE.getIcon("crystal_ouvrir.png"), - this); + menu.addMenuItem(FCrueResource.getS("ihm.ouvrir.etude"), "OUVRIRETUDE", FCrueResource.CRUE + .getIcon("crystal_ouvrir.png"), this); - menu.addMenuItem(FCrueResource.getS("Gestion étude"), "GESTIONETUDE", FCrueResource.CRUE + menu.addMenuItem(FCrueResource.getS("ihm.gerer.etude"), "GESTIONETUDE", FCrueResource.CRUE .getIcon("crystal_message.png"), this); - menu.addMenuItem(FCrueResource.getS("Fermer Etude"), "FERMERETUDE", FCrueResource.CRUE + menu.addMenuItem(FCrueResource.getS("ihm.fermer.etude"), "FERMERETUDE", FCrueResource.CRUE .getIcon("crystal_fermer.png"), this); return menu; } @@ -144,17 +156,17 @@ private BuMenu buildScenarioMenu() { BuMenu menu = new BuMenu(BuResource.BU.getString("Scénario"), "MENUPROJET"); - menu.addMenuItem(FCrueResource.getS("Gestion scenarios"), "GESTIONSCENARIOS", FCrueResource.CRUE + menu.addMenuItem(FCrueResource.getS("ihm.gerer.scenarios"), "GESTIONSCENARIOS", FCrueResource.CRUE .getIcon("crystal_ouvrir.png"), this); - menu.addMenuItem(FCrueResource.getS("Enregistrer scenario"), "ENREGISTRERSCENARIOS", FCrueResource.CRUE + menu.addMenuItem(FCrueResource.getS("ihm.enregistrer.scenario"), "ENREGISTRERSCENARIOS", FCrueResource.CRUE .getIcon("crystal_enregistrer.png"), this); - menu.addSeparator(FCrueResource.getS("Operations")); - menu.addMenuItem(FCrueResource.getS("Comparaison"), "GESTIONCOMPARAISON", FCrueResource.CRUE + menu.addSeparator(FCrueResource.getS("ihm.operations")); + menu.addMenuItem(FCrueResource.getS("ihm.comparaison.scenarios"), "GESTIONCOMPARAISON", FCrueResource.CRUE .getIcon("crystal_controler.png"), this); - menu.addMenuItem(FCrueResource.getS("Crue 9 <=> Crue 10"), "GESTIONTRANSFORMATION", FCrueResource.CRUE + menu.addMenuItem(FCrueResource.getS("ihm.chgt.format.crue9.crue10"), "GESTIONTRANSFORMATION", FCrueResource.CRUE .getIcon("crystal_controler.png"), this); return menu; @@ -167,7 +179,7 @@ */ private BuMenu buildModeleMenu() { BuMenu menu = new BuMenu(BuResource.BU.getString("Modèles"), "MENUMODELE"); - menu.addMenuItem(FCrueResource.getS("Gestion modèles"), "GESTIONMODELES", FCrueResource.CRUE + menu.addMenuItem(FCrueResource.getS("ihm.gerer.modeles"), "GESTIONMODELES", FCrueResource.CRUE .getIcon("crystal_document.png"), this); return menu; } @@ -180,8 +192,8 @@ private BuMenu buildEMHMenu() { BuMenu menu = new BuMenu(BuResource.BU.getString("EMH"), "MENUEMH"); - menu.addSeparator(FCrueResource.getS("EMH")); - menu.addMenuItem(FCrueResource.getS("Gestion EMH"), "GESTIONEMH", FCrueResource.CRUE + menu.addSeparator(FCrueResource.getS("ihm.emh")); + menu.addMenuItem(FCrueResource.getS("ihm.gerer.emhs"), "GESTIONEMH", FCrueResource.CRUE .getIcon("crystal_document.png"), this); return menu; @@ -388,7 +400,7 @@ crueProjet_.getManagerError().clear(); ScenarioSaver saver = new ScenarioSaver(crueProjet_.getProject().getScenarioCourant(), crueProjet_); saver.saveWithScenarioType(); - crueProjet_.getManagerError().showDialog(this, FCrueResource.getS("Enregistrement")); + crueProjet_.getManagerError().showDialog(this, FCrueResource.getS("ihm.enregistrement")); } else if (action.equals("GESTIONSCENARIOS")) { @@ -403,8 +415,7 @@ } else if (action.equals("OUVRIRETUDE")) { boolean ok = true; if (crueProjet_.getProject() != null) { - ok = question(FCrueResource.getS("Confirmation"), FCrueResource - .getS("Une étude est déja chargée. Cette opération la fermera automatiquement.\n Voulez-vous continuer?")); + ok = question(FCrueResource.getS("ihm.confirmation"), FCrueResource.getS("ihm.confirm.fermeture.etude")); } if (ok) { File f = FudaaGuiLib.ouvrirFileChooser("Fichier etu", Crue10FileFormatFactory.getETUFileFormat() @@ -419,7 +430,7 @@ } } else if (action.equals("FERMERETUDE")) { - if (question(FCrueResource.getS("Confirmation"), FCrueResource.getS("Voulez-vous fermet l'étude courante?"))) { + if (question(FCrueResource.getS("ihm.confirmation"), FCrueResource.getS("ihm.question.fermeture.etude"))) { crueProjet_.setProject(null); // crueProjet_.setDataSources(null); } Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java 2009-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -1,5 +1,8 @@ package org.fudaa.fudaa.crue.common; +import java.util.ResourceBundle; + +import org.fudaa.dodico.crue.io.common.Messages; import org.fudaa.fudaa.ressource.FudaaResource; import com.memoire.bu.BuIcon; @@ -14,31 +17,33 @@ public final static FCrueResource CRUE = new FCrueResource(BuResource.BU); public final static String SOFTWARE_ID = "Crue"; + private final static ResourceBundle bundle = Messages.RESOURCE_BUNDLE; private FCrueResource(final BuResource _b) { super(_b); } public static String getS(final String _s) { - return FCrueResource.CRUE.getString(_s); + // return FCrueResource.CRUE.getString(_s); + return bundle.getString(_s); } - public static String getS(final String _s, final String _v0) { - return FCrueResource.CRUE.getString(_s, _v0); - } + // public static String getS(final String _s, final String _v0) { + // return FCrueResource.CRUE.getString(_s, _v0); + // } - public static String getS(final String _s, final String _v0, final String _v1) { - return FCrueResource.CRUE.getString(_s, _v0, _v1); - } + // public static String getS(final String _s, final String _v0, final String _v1) { + // return FCrueResource.CRUE.getString(_s, _v0, _v1); + // } - public static BuIcon getMeshIcon() { - return FCrueResource.CRUE.getIcon("crue"); - } + // public static BuIcon getMeshIcon() { + // return FCrueResource.CRUE.getIcon("crue"); + // } + // + // public static BuIcon getLogo() { + // return FCrueResource.CRUE.getIcon("logo-crue"); + // } - public static BuIcon getLogo() { - return FCrueResource.CRUE.getIcon("logo-crue"); - } - @Override public BuIcon getIcon(final String val) { return BuResource.BU.getIcon(val); @@ -56,20 +61,20 @@ return FCrueResource.CRUE.getIcon("aproposde_32.gif"); } - public static BuIcon getScopIcon() { - return FCrueResource.CRUE.getIcon("curves"); - } + // public static BuIcon getScopIcon() { + // return FCrueResource.CRUE.getIcon("curves"); + // } public static String getCrueName() { - return FCrueResource.getS("Crue"); + return FCrueResource.getS("ihm.crue"); } - public static String getEditorName() { - return FCrueResource.getS("Editeur"); - } + // public static String getEditorName() { + // return FCrueResource.getS("ihm.editeur"); + // } - public static BuIcon getEditorIcon() { - return FCrueResource.CRUE.getIcon("texte"); - } + // public static BuIcon getEditorIcon() { + // return FCrueResource.CRUE.getIcon("texte"); + // } } Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueApplicationManager.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueApplicationManager.java 2009-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueApplicationManager.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -9,13 +9,6 @@ import javax.swing.JMenuItem; import javax.swing.JPopupMenu; -import com.memoire.bu.BuDynamicMenu; -import com.memoire.bu.BuFileFilter; -import com.memoire.bu.BuMenu; -import com.memoire.bu.BuMenuItem; -import com.memoire.bu.BuResource; -import com.memoire.vfs.VfsFile; - import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.fileformat.FileFormat; @@ -31,6 +24,13 @@ import org.fudaa.fudaa.crue.common.FCrueResource; import org.fudaa.fudaa.ressource.FudaaResource; +import com.memoire.bu.BuDynamicMenu; +import com.memoire.bu.BuFileFilter; +import com.memoire.bu.BuMenu; +import com.memoire.bu.BuMenuItem; +import com.memoire.bu.BuResource; +import com.memoire.vfs.VfsFile; + /** * Gere l'application de'explorateur. * @@ -163,7 +163,7 @@ BuMenuItem itemOpenScop_ = null; private BuMenu buildMenuOuvrirAvec(final CrueExplorer _explorer) { - return new BuDynamicMenu(FCrueResource.getS("Ouvrir avec..."), "LAUNCH", BuResource.BU.getIcon("aucun")) { + return new BuDynamicMenu(FCrueResource.getS("ihm.ouvrir.avec"), "LAUNCH", BuResource.BU.getIcon("aucun")) { @Override public void build() { @@ -195,7 +195,7 @@ } protected static BuMenu buildDirMenuItem(final CrueExplorer _explorer) { - return new BuDynamicMenu(FCrueResource.getS("Ex�cuter..."), "LAUNCH", BuResource.BU.getIcon("executer")) { + return new BuDynamicMenu(FCrueResource.getS("ihm.executer"), "LAUNCH", BuResource.BU.getIcon("executer")) { @Override public void build() { @@ -257,7 +257,7 @@ if (getTxtFileFilter().accept(null, name)) { if (_lb != null) { _lb.setIcon(BuResource.BU.getIcon("texte")); - return FCrueResource.getS("texte"); + return FCrueResource.getS("ihm.texte"); } if (_f.length() > 1E5) { CtuluLibDialog.showError(_lb, FudaaLib.getS("Ouverture du fichier refus�e"), FudaaLib Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java 2009-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -10,11 +10,7 @@ import javax.swing.BorderFactory; import javax.swing.JComponent; -import com.memoire.bu.*; -import com.memoire.vfs.VfsFile; - import org.fudaa.ctulu.BuNetworkPreferencesPanel; -import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.gui.CtuluFavoriteFiles; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.commun.exec.FudaaExec; @@ -23,6 +19,20 @@ import org.fudaa.fudaa.crue.common.CrueCommomImplementation; import org.fudaa.fudaa.crue.common.FCrueResource; +import com.memoire.bu.BuBrowserPreferencesPanel; +import com.memoire.bu.BuDynamicMenu; +import com.memoire.bu.BuIcon; +import com.memoire.bu.BuInformationsSoftware; +import com.memoire.bu.BuLanguagePreferencesPanel; +import com.memoire.bu.BuMainPanel; +import com.memoire.bu.BuMenu; +import com.memoire.bu.BuMenuBar; +import com.memoire.bu.BuResource; +import com.memoire.bu.BuSeparator; +import com.memoire.bu.BuToolButton; +import com.memoire.bu.BuUserPreferencesPanel; +import com.memoire.vfs.VfsFile; + /** * Le superviseur de Crue * @@ -41,7 +51,7 @@ * Appelle le constructeur avec "applications","APPLICATIONS". */ public CrueAppliMainMenu() { - super(FCrueResource.getS("Applications"), "APPLICATIONS", BuResource.BU.getIcon("aucun")); + super(FCrueResource.getS("ihm.applis"), "APPLICATIONS", BuResource.BU.getIcon("aucun")); setIcon(null); } @@ -73,7 +83,7 @@ r.addMenuItem(BuResource.BU.getString("Site WWW"), "WWW_ACCUEIL", true); r.addMenuItem(BuResource.BU.getString("Mise à jour"), "MAJ", true); // TrLib.addJavawsForJnlp(r); - r.addMenuItem(FCrueResource.getS("Soumettre un commentaire"), "SEND_COMMENT", BuResource.BU.getIcon("envoyer"), + r.addMenuItem(FCrueResource.getS("ihm.soumettre.commentaire"), "SEND_COMMENT", BuResource.BU.getIcon("envoyer"), true); // TrLib.addJava3DJMFTest(r); r.addActionListener(_l); @@ -205,12 +215,12 @@ // it.setToolTipText(CrueRessource.getS("Lancer l'�diteur de projet hydraulique")); // it.setText(CtuluLibString.EMPTY_STRING); // main_toolbar_.add(it); -// it = new BuToolButton(); -// it.setAction(explorer_.getAppliManager().getCrueExec().getAction()); -// it.setToolTipText(FCrueResource.getS("Lancer le processeur Crue")); -// it.setActionCommand("CRUE"); -// it.setText(CtuluLibString.EMPTY_STRING); -// main_toolbar_.add(it); + // it = new BuToolButton(); + // it.setAction(explorer_.getAppliManager().getCrueExec().getAction()); + // it.setToolTipText(FCrueResource.getS("Lancer le processeur Crue")); + // it.setActionCommand("CRUE"); + // it.setText(CtuluLibString.EMPTY_STRING); + // main_toolbar_.add(it); final BuMenuBar mb = getMainMenuBar(); mb.removeAll(); @@ -227,8 +237,7 @@ public static BuMenu buildFileMenu(final ActionListener _l) { final BuMenu r = new BuMenu(BuResource.BU.getString("Fichier"), "MENU_FICHIER"); r.addMenuItem(BuResource.BU.getString("Quitter..."), "QUITTER", true, KeyEvent.VK_Q); - r.addMenuItem(FCrueResource.getS("Fermer toutes les applications"), "CLOSE_ALL", BuResource.BU.getIcon("fermer"), - true, 0); + r.addMenuItem(FCrueResource.getS("ihm.fermer.applis"), "CLOSE_ALL", BuResource.BU.getIcon("fermer"), true, 0); r.setIcon(null); r.addActionListener(_l); return r; Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -118,15 +118,16 @@ managerError.clear(); // -- lecture du fichier --// final EMHproject projet = Crue10FileFormatFactory.getETUFileFormat().read(_f, managerError.getNewAnalyser(), null); - managerError.showDialog(impl, FCrueResource.getS("Chargement projet")); + managerError.showDialog(impl, FCrueResource.getS("ihm.titre.chargement.projet")); + // managerError.showDialog(impl, FCrueResource.getS("Chargement projet")); if (projet == null) { return null; } this.project = projet; // -- affichage du résultat --// if (projet.getScenarioCourant() != null) { - if (impl.question(FCrueResource.getS("Chargement"), FCrueResource.getS("Le scénario courant ") + " " - + projet.getScenarioCourant().getId() + FCrueResource.getS(" va être chargé. Voulez-vous continuer?"))) { + if (impl.question(FCrueResource.getS("ihm.chargement"), FCrueResource.getS("ihm.scenario.courant") + " " + + projet.getScenarioCourant().getId() + " " + FCrueResource.getS("ihm.confirm.chargt.scenario"))) { ScenarioLoader algo = new ScenarioLoader(this, projet.getScenarioCourant()); // -- chargement du projet --// Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java 2009-06-02 16:16:39 UTC (rev 4830) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java 2009-06-02 17:50:17 UTC (rev 4831) @@ -12,7 +12,14 @@ import org.fudaa.dodico.crue.metier.EMHModeleBase; import org.fudaa.dodico.crue.metier.EMHScenario; import org.fudaa.dodico.crue.metier.FichierCrue; -import org.fudaa.dodico.crue.metier.emh.*; +import org.fudaa.dodico.crue.metier.emh.AbstractLoi; +import org.fudaa.dodico.crue.metier.emh.DonCLimMScenario; +import org.fudaa.dodico.crue.metier.emh.DonFrt; +import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario; +import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; +import org.fudaa.dodico.crue.metier.emh.OrdResScenario; +import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario; +import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase; import org.fudaa.dodico.crue.validation.EMHValidatorModele; import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.fudaa.crue.common.CrueCommomImplementation; @@ -34,40 +41,36 @@ */ private static final long serialVersionUID = 7682734169100306919L; + /** Scénario chargé */ public EMHScenario scenario; + CrueData operationRes; CrueProjet projet; CrueCommomImplementation impl; - public EMHScenario getScenario() { - return scenario; - } - - public void setScenario(EMHScenario scenario) { - this.scenario = scenario; - } - /** * @param scenario * @param projet - * @param impl */ public CrueActionChargerScenario(EMHScenario scenario, CrueProjet projet) { - super(FCrueResource.getS("Charger Scénario"), FCrueResource.CRUE.getIcon("crystal_ouvrir.png"), "SCENARIOCHARGER"); + super(FCrueResource.getS("ihm.charger.scenario"), FCrueResource.CRUE.getIcon("crystal_ouvrir.png"), + "SCENARIOCHARGER"); this.projet = projet; this.scenario = scenario; this.impl = projet.getImpl(); } + /** + * @return operationRes + */ public CrueData getOperationRes() { return operationRes; } @Override public void actionPerformed(ActionEvent _e) { - if (impl.question(FCrueResource.getS("Chargement"), FCrueResource - .getS("Etes-vous sur de vouloir charger ce scénario") - + " " + scenario.getId() + "? Il deviendra le scénario courant.")) { + if (impl.question(FCrueResource.getS("ihm.chargement"), FCrueResource.getS("ihm.confirm.chargt.scenario1") + " " + + scenario.getId() + FCrueResource.getS("ihm.confirm.chargt.scenario2"))) { if (scenario != null) { ScenarioLoader algo = new ScenarioLoader(projet, scenario); algo.compute(); @@ -98,8 +101,6 @@ /** * Realise le calcul. - * - * @return */ public void compute() { projet.managerError.clear(); @@ -125,56 +126,51 @@ /** * Calcul le scenario de type crue 9 - * - * @return */ public void computeCrue9() { CrueData res = new CrueDataImpl(); CtuluAnalyze analyzer = projet.managerError.getNewAnalyser(); - analyzer.setDesc(FCrueResource.getS("Fichiers existant dans le scenario") + " " + scenario.getId()); + analyzer.setDesc(FCrueResource.getS("ihm.fichiers.scenario") + " " + scenario.getId()); // -- recuperation du fichier DC --// if (scenario.getRunCourant() != null) { // scenario.getRunCourant().setListeModelesRuns(listeModelesRuns) // -- o... [truncated message content] |
From: <de...@us...> - 2009-06-03 06:45:52
|
Revision: 4832 http://fudaa.svn.sourceforge.net/fudaa/?rev=4832&view=rev Author: deniger Date: 2009-06-03 06:45:44 +0000 (Wed, 03 Jun 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/config/eclipse-crue-catalog.xml trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHInfosVersion.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/scenario-1.0.0.xsd 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/TestCrueValidationModele.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileOpWriterCharSimpleAbstract.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ScenarioWriter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/TempValidationFichierScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateConnectionModele.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.scenario.xml Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/EMHValidatorModele.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidationFichierScenario.java trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.run.xml.tmp Modified: trunk/soft/fudaa-crue/dodico/src/main/config/eclipse-crue-catalog.xml =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/config/eclipse-crue-catalog.xml 2009-06-02 17:50:17 UTC (rev 4831) +++ trunk/soft/fudaa-crue/dodico/src/main/config/eclipse-crue-catalog.xml 2009-06-03 06:45:44 UTC (rev 4832) @@ -48,6 +48,9 @@ <uri name="http://www.fudaa.fr/xsd/crue/pnum-1.0.0.xsd" uri="platform:/resource/dodico-crue/src/main/resources/xsd/pnum-1.0.0.xsd" /> + + <uri name="http://www.fudaa.fr/xsd/crue/scenario-1.0.0.xsd" + uri="platform:/resource/dodico-crue/src/main/resources/xsd/scenario-1.0.0.xsd" /> Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileOpWriterCharSimpleAbstract.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileOpWriterCharSimpleAbstract.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileOpWriterCharSimpleAbstract.java 2009-06-03 06:45:44 UTC (rev 4832) @@ -0,0 +1,27 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.io.common; + +import java.io.File; + +import org.fudaa.dodico.fortran.FileOpWriterCharSimpleAbstract; + +/** + * Classe permettant de setter correctement le ResourceBundle. + * + * @author deniger + */ +public abstract class CrueFileOpWriterCharSimpleAbstract extends FileOpWriterCharSimpleAbstract { + + /** + * appelle la methode parent et set le RESOURCE_BUNDLE correctement + */ + @Override + public void setFile(final File _f) { + super.setFile(_f); + analyze_.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); + } + +} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java 2009-06-02 17:50:17 UTC (rev 4831) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java 2009-06-03 06:45:44 UTC (rev 4832) @@ -7,6 +7,7 @@ import java.util.Date; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.Messages; import org.fudaa.dodico.crue.metier.CrueData; import org.fudaa.dodico.fortran.FileOpWriterCharSimpleAbstract; import org.fudaa.dodico.fortran.FortranWriter; @@ -86,18 +87,13 @@ public void setFile(final File _f) { analyze_ = new CtuluAnalyze(); analyze_.setResource(_f.getAbsolutePath()); - FileWriter out = null; + analyze_.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); try { - out = new FileWriter(_f); - // Message de Adrien: Fred, j'ai besoin de cet objet fortanWriter - // car l'objet par defaut est moisi pour les formattages et ecritures par colonnes. - fortranWriter_ = new FortranWriter(new FileWriter(_f)); + out_ = new FileWriter(_f); } catch (final IOException _e) { analyze_.manageException(_e); } - if (out != null) { - out_ = out; - } + fortranWriter_ = new FortranWriter(out_); } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHInfosVersion.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHInfosVersion.java 2009-06-02 17:50:17 UTC (rev 4831) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHInfosVersion.java 2009-06-03 06:45:44 UTC (rev 4832) @@ -1,7 +1,7 @@ package org.fudaa.dodico.crue.metier; /** - * Informations sur la verszion du modele, fichier,scenqrio, sous modele, run,.... Crue + * Informations sur la version du modele, fichier,scenario, sous modele, run,.... Crue * * @author Adrien Hadoux */ Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java 2009-06-02 17:50:17 UTC (rev 4831) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java 2009-06-03 06:45:44 UTC (rev 4832) @@ -10,39 +10,37 @@ */ public class EMHScenario { - String id_; + private final String id_; /** * la classe qui gere la liste des modeles du scenario. */ - EMHModeleEnchainement gestionModele_; + private EMHModeleEnchainement gestionModele_; /** * Les donnees crueData du scenario . */ - CrueData dataSources; + private CrueData dataSources; /** * la liste des runs associes au sc�nraio. */ - List<EMHRun> listeRuns_; + private List<EMHRun> listeRuns_; /** * Run courant. */ - EMHRun runCourant_; + private EMHRun runCourant_; /** * Infos sur la version. */ - protected EMHInfosVersion infosVersions_; + private EMHInfosVersion infosVersions_; /** * Liste des fichiers rattach�s au scenario . Ces fichiers proviennent de la classe EMHProjetInfos qui contient la * base des fichiers du projet. Ces fichiers sont uniquement des fichiers r�sultat ? - * - * @param id */ - protected List<FichierCrue> listeFichiersScenario_; + private List<FichierCrue> listeFichiersScenario_; public List<FichierCrue> getListeFichiersScenario() { return listeFichiersScenario_; Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/EMHValidatorModele.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/EMHValidatorModele.java 2009-06-02 17:50:17 UTC (rev 4831) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/EMHValidatorModele.java 2009-06-03 06:45:44 UTC (rev 4832) @@ -1,267 +0,0 @@ -package org.fudaa.dodico.crue.validation; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.fudaa.ctulu.CtuluAnalyze; -import org.fudaa.dodico.crue.metier.CrueData; -import org.fudaa.dodico.crue.metier.emh.CatEMHBranche; -import org.fudaa.dodico.crue.metier.emh.CatEMHNoeud; - -//TODO pourquoi faire des mehodes statique tout le temps ! -//la validation porte sur un CrueData et renvoie un CtuluAnalyse. -/** - * Algorithmes de validations du modele. - * - * @author Adrien Hadoux - */ -public class EMHValidatorModele { - - /** - * Methode qui teste la connexité du modele et retourne true ou false, - * - * @param data - * @param analyzer analyzer - * @return - */ - public static boolean validateConnexite(final CrueData data, final CtuluAnalyze analyzer) { - boolean validate = false; - - // -- premeire verification: tous les noeuds sont affectées --// - validate = IsNoeudsTousAffectes(data, analyzer); - - if (validate) { - - // -- on verifie que toutes les branches ont un noeud --//. - validate = IsBranchesConnexes(data, analyzer); - } - - return validate; - } - - /** - * Verifie que toutes les branches soient affectees. - * - * @param data - * @param analyzer - * @return true si le graphe est connexe. - */ - public static boolean IsBranchesConnexes(final CrueData data, final CtuluAnalyze analyzer) { - - final List<CatEMHNoeud> lstNoeudsATester = new ArrayList<CatEMHNoeud>(1); - - final List<CatEMHBranche> lstBranchesRestantes = remplirBranchesRestantesActives(data.getBranches()); - - // 1) Choisir un nœud de départ connecté à au moins une branche active. Il est stocké dans lstNoeudsATester. - final CatEMHNoeud findNoeudDep = findNoeudDepart(data); - - if (findNoeudDep == null) { return false; } - lstNoeudsATester.add(findNoeudDep); - - // 2) Tant qu’il existe au moins un élément dans lstNoeudsATester : - while (lstNoeudsATester.size() > 0) { - // 2.1) Dépiler un élément de lstNoeudsATester (le supprimer de la liste) et le stocker dans NoeudCourant. - final CatEMHNoeud noeudCourant = lstNoeudsATester.remove(0); - - // 2.2) Tant qu’il existe une branche connectée à NoeudCourant et qui figure dans lstBranchesRestantes : - final List<CatEMHBranche> lstBranchesContenantNoeud = findAllBranchesConnectedToNode(lstBranchesRestantes, - noeudCourant); - - while (lstBranchesContenantNoeud.size() > 0) { - // 2.2.1) Récupérer une telle branche et la stocker dans BrancheCourante. - final CatEMHBranche brancheCourante = lstBranchesContenantNoeud.remove(0); - - // 2.2.2) Récupérer le nœud situé à l’autre extrémité de BrancheCourante (par rapport à NoeudCourant) et le - // stocker - // dans lstNoeudsATester (s’il n’y figure pas déjà). - CatEMHNoeud nouveauNoeud = brancheCourante.getNoeudAmont(); - if (nouveauNoeud != noeudCourant) { - lstNoeudsATester.add(nouveauNoeud); - } else { - nouveauNoeud = brancheCourante.getNoeudAval(); - lstNoeudsATester.add(nouveauNoeud); - } - - // 2.2.3) Supprimer BrancheCourante de lstBranchesRestantes. - lstBranchesRestantes.remove(brancheCourante); - - } - - } - - if (lstBranchesRestantes.size() > 0) { - analyzer.addError("error.validationModele.branchesNonAffectes", - createMapBranchesNonAffectes(lstBranchesRestantes)); - return false; - } - - return true; - } - - /** - * Cree la liste de branches Active a partir de la liste de branches totales. - * - * @param lstBranchesTotales - * @return - */ - public static List<CatEMHBranche> remplirBranchesRestantesActives(final List<CatEMHBranche> lstBranchesTotales) { - final List<CatEMHBranche> listeBranches = new ArrayList<CatEMHBranche>(); - - for (final CatEMHBranche branche : lstBranchesTotales) { - if (branche.isActive()) { - listeBranches.add(branche); - } - } - return listeBranches; - - } - - /** - * Retrouve toutes les branches connectees au noeud. - * - * @param lstBranchesRestantes - * @param noeud - * @return - */ - public static List<CatEMHBranche> findAllBranchesConnectedToNode(final List<CatEMHBranche> lstBranchesRestantes, - final CatEMHNoeud noeud) { - final List<CatEMHBranche> listeConnected = new ArrayList<CatEMHBranche>(); - - for (final CatEMHBranche branche : lstBranchesRestantes) { - if (branche.isActive()) { - final CatEMHNoeud noeudAmont = branche.getNoeudAmont(); - if (noeudAmont == noeud) { - - listeConnected.add(branche); - - } else { - final CatEMHNoeud noeudAval = branche.getNoeudAval(); - if (noeudAval == noeud) { - - listeConnected.add(branche); - - } - } - } - } - - return listeConnected; - } - - /** - * Methode qui recherche dans la liste des branches le premier noeud d'une branche active. - * - * @param data - * @return - */ - public static CatEMHNoeud findNoeudDepart(final CrueData data) { - - for (int i = 0; i < data.getBranches().size(); i++) { - if (data.getBranches().get(i).isActive()) { - - CatEMHNoeud findNoeudDep = data.getBranches().get(i).getNoeudAmont(); - if (findNoeudDep != null) { return findNoeudDep; } - findNoeudDep = data.getBranches().get(i).getNoeudAval(); - if (findNoeudDep != null) { return findNoeudDep; } - - } - - } - return null; - } - - /** - * Verifie que tous les noeuds soient affectés a au moins une branche. - * - * @param data - * @param analyzer - * @return - */ - public static boolean IsNoeudsTousAffectes(final CrueData data, final CtuluAnalyze analyzer) { - - final List<CatEMHNoeud> listeNoeudsNonAffectes = new ArrayList<CatEMHNoeud>(data.getNoeuds().size()); - - // pourri collections... - // Collections.copy(listeNoeudsNonAffectes, data.getNoeuds()); - - for (final CatEMHNoeud node : data.getNoeuds()) { - listeNoeudsNonAffectes.add(node); - } - - for (final CatEMHBranche branche : data.getBranches()) { - if (branche.isActive()) { - final CatEMHNoeud noeudAmont = branche.getNoeudAmont(); - if (noeudAmont != null) { - - listeNoeudsNonAffectes.remove(noeudAmont); - - } else { - final HashMap<String, Object> map = new HashMap<String, Object>(); - map.put("branche", branche.getNom()); - analyzer.addError("error.validationModele.noeudAmontManquant", map); - return false; - } - final CatEMHNoeud noeudAval = branche.getNoeudAval(); - if (noeudAval != null) { - - listeNoeudsNonAffectes.remove(noeudAval); - - } else { - final HashMap<String, Object> map = new HashMap<String, Object>(); - map.put("branche", branche.getNom()); - analyzer.addError("error.validationModele.noeudAvalManquant", map); - return false; - } - } - } - if (listeNoeudsNonAffectes.size() != 0) { - analyzer.addError("error.validationModele.noeudNonAffectes", createMapNoeudsNonAffectes(listeNoeudsNonAffectes)); - } - - return listeNoeudsNonAffectes.size() == 0; - } - - /** - * Creer la map avec la liste des noeuds non affectes. - * - * @param listeNoeudsNonAffectes - * @return - */ - public static Map<String, Object> createMapNoeudsNonAffectes(final List<CatEMHNoeud> listeNoeudsNonAffectes) { - final String key = "noeuds"; - - String liste = ""; - - for (final CatEMHNoeud noeud : listeNoeudsNonAffectes) { - liste += " " + noeud.getNom(); - } - - final HashMap<String, Object> map = new HashMap<String, Object>(); - map.put(key, liste); - return map; - - } - - /** - * Creer la map avec la liste des branches non affectes. - * - * @param listeBranchesNonAffectes - * @return - */ - public static Map<String, Object> createMapBranchesNonAffectes(final List<CatEMHBranche> listeBranchesNonAffectes) { - final String key = "branches"; - - String liste = ""; - - for (final CatEMHBranche branche : listeBranchesNonAffectes) { - liste += " " + branche.getNom(); - } - - final HashMap<String, Object> map = new HashMap<String, Object>(); - map.put(key, liste); - return map; - - } -} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ScenarioWriter.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ScenarioWriter.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ScenarioWriter.java 2009-06-03 06:45:44 UTC (rev 4832) @@ -0,0 +1,48 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.validation; + +import java.io.IOException; + +import com.memoire.fu.FuLogCrue; + +import org.fudaa.dodico.crue.io.common.CrueFileOpWriterCharSimpleAbstract; +import org.fudaa.dodico.crue.metier.EMHScenario; + +/** + * @author deniger + */ +public class ScenarioWriter extends CrueFileOpWriterCharSimpleAbstract { + + protected static class InputFormatWriter { + protected String version; + protected EMHScenario scenario; + } + + @Override + protected void internalWrite(Object _o) { + if (_o instanceof InputFormatWriter) { + try { + writeInput((InputFormatWriter) _o); + } catch (IOException e) { + FuLogCrue.error(e); + analyze_.manageException(e); + } + + } + + } + + private void writeInput(InputFormatWriter in) throws IOException { + // TODO a continuer + // il faut parcourir tous les fichiers du scenario + // puis le modele + // puis le sousmodele + // pour écrire l'entete il faut bien prendre en compte la version le 1.0.0 dans le fichier d'exemple + super.out_.append("<?xml...."); + + } + +} Copied: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/TempValidationFichierScenario.java (from rev 4828, trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidationFichierScenario.java) =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/TempValidationFichierScenario.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/TempValidationFichierScenario.java 2009-06-03 06:45:44 UTC (rev 4832) @@ -0,0 +1,133 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.validation; + +import java.net.URL; + +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; +import javax.xml.validation.Schema; +import javax.xml.validation.SchemaFactory; + +import com.memoire.fu.FuLog; + +import org.fudaa.dodico.crue.io.AbstractIOTestCase; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; +import org.xml.sax.helpers.DefaultHandler; + +/** + * Cette classe est un exemple à modifier: il faudra simplement reprendre la logique de validation. + * + * @author deniger + */ +@SuppressWarnings("PMD.SystemPrintln") +public class TempValidationFichierScenario { + + static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage"; + public static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema"; + static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource"; + + public static void main(String[] args) { + // final ErrorHandlerDefault handler = new ErrorHandlerDefault(res); + try { + + final URL xsdURL = AbstractIOTestCase.class.getResource("/xsd/all-etude-1.0.xsd"); + // final URL xsddfrtURL = AbstractIOTestCase.class.getResource("/xsd/dfrt-1.0.xsd"); + final URL xml = AbstractIOTestCase.class.getResource("/fichierTest/Modele3.drso.xml"); + final SchemaFactory schemaFactory = SchemaFactory.newInstance(W3C_XML_SCHEMA); + // schemaFactory.setResourceResolver(resourceResolver) + final Schema schema = schemaFactory.newSchema(xsdURL); + // // + // + // // parser.setSchema(schema); + DefaultHandler handler = new DefaultHandler() { + + @Override + public void processingInstruction(String target, String data) throws SAXException { + // FIXME Auto-generated method stub + super.processingInstruction(target, data); + } + + // @Override + // public void setDocumentLocator(Locator locator) { + // // FIXME Auto-generated method stub + // super.setDocumentLocator(locator); + // } + + @Override + public void startPrefixMapping(String prefix, String uri) throws SAXException { + // FIXME Auto-generated method stub + super.startPrefixMapping(prefix, uri); + } + + @Override + public void error(SAXParseException e) throws SAXException { + String msg = e.getMessage(); + if (msg.contains("no grammar found") || msg.contains("must match DOCTYPE root")) { return; } + System.err.println("erreur dans le fichier " + e.getSystemId() + " a la ligne " + e.getLineNumber() + " = " + + e.getLocalizedMessage() + "/" + e.getMessage()); + // e.printStackTrace(); + } + + @Override + public void fatalError(SAXParseException e) throws SAXException { + error(e); + } + + @Override + public void warning(SAXParseException e) throws SAXException { + // e.printStackTrace(); + } + }; + // final Validator validator = schema.newValidator(); + // // validator.s + // // SAXSource source = new SAXSource(new InputSource(xml.toString())); + // // validator.validate(source); + SAXParserFactory parser = SAXParserFactory.newInstance(); + // parser.setSchema(schema); + parser.setNamespaceAware(true); + parser.setXIncludeAware(true); + parser.setValidating(true); + SAXParser newSAXParser = parser.newSAXParser(); + newSAXParser.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); + newSAXParser.setProperty(JAXP_SCHEMA_SOURCE, new InputSource(xsdURL.toString())); + newSAXParser.parse(new InputSource(xml.toString()), handler); + // parser.newSAXParser().p + // DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); + // documentBuilderFactory.setNamespaceAware(true); + // documentBuilderFactory.setXIncludeAware(true); + // documentBuilderFactory.setValidating(true); + // documentBuilderFactory.setSchema(schema); + // DocumentBuilder parser = documentBuilderFactory.newDocumentBuilder(); + // parser.setErrorHandler(handler); + // Document document = parser.parse(xml.toURI().toString()); + // // + // // // create a SchemaFactory capable of understanding WXS schemas + // // SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); + // // + // // // load a WXS schema, represented by a Schema instance + // // Source schemaFile = new StreamSource(new File("mySchema.xsd")); + // // Schema schema = factory.newSchema(schemaFile); + // // + // // create a Validator instance, which can be used to validate an instance document + // Validator validator = schema.newValidator(); + // validator.setErrorHandler(handler); + // + // // // validate the DOM tree + // // try { + // // SAXSource source = new SAXSource(new InputSource(xml.toString())); + // validator.validate(new DOMSource(document)); + // validator.validate(source); + + } catch (final Exception e) { + // e.printStackTrace(); + FuLog.error(e); + } + + } + +} Copied: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateConnectionModele.java (from rev 4817, trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/EMHValidatorModele.java) =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateConnectionModele.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateConnectionModele.java 2009-06-03 06:45:44 UTC (rev 4832) @@ -0,0 +1,267 @@ +package org.fudaa.dodico.crue.validation; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.metier.CrueData; +import org.fudaa.dodico.crue.metier.emh.CatEMHBranche; +import org.fudaa.dodico.crue.metier.emh.CatEMHNoeud; + +//TODO pourquoi faire des mehodes statique tout le temps ! +//la validation porte sur un CrueData et renvoie un CtuluAnalyse. +/** + * Algorithmes de validations du modele. + * + * @author Adrien Hadoux + */ +public class ValidateConnectionModele { + + /** + * Methode qui teste la connexité du modele et retourne true ou false, + * + * @param data + * @param analyzer analyzer + * @return + */ + public static boolean validateConnexite(final CrueData data, final CtuluAnalyze analyzer) { + boolean validate = false; + + // -- premeire verification: tous les noeuds sont affectées --// + validate = IsNoeudsTousAffectes(data, analyzer); + + if (validate) { + + // -- on verifie que toutes les branches ont un noeud --//. + validate = IsBranchesConnexes(data, analyzer); + } + + return validate; + } + + /** + * Verifie que toutes les branches soient affectees. + * + * @param data + * @param analyzer + * @return true si le graphe est connexe. + */ + public static boolean IsBranchesConnexes(final CrueData data, final CtuluAnalyze analyzer) { + + final List<CatEMHNoeud> lstNoeudsATester = new ArrayList<CatEMHNoeud>(1); + + final List<CatEMHBranche> lstBranchesRestantes = remplirBranchesRestantesActives(data.getBranches()); + + // 1) Choisir un nœud de départ connecté à au moins une branche active. Il est stocké dans lstNoeudsATester. + final CatEMHNoeud findNoeudDep = findNoeudDepart(data); + + if (findNoeudDep == null) { return false; } + lstNoeudsATester.add(findNoeudDep); + + // 2) Tant qu’il existe au moins un élément dans lstNoeudsATester : + while (lstNoeudsATester.size() > 0) { + // 2.1) Dépiler un élément de lstNoeudsATester (le supprimer de la liste) et le stocker dans NoeudCourant. + final CatEMHNoeud noeudCourant = lstNoeudsATester.remove(0); + + // 2.2) Tant qu’il existe une branche connectée à NoeudCourant et qui figure dans lstBranchesRestantes : + final List<CatEMHBranche> lstBranchesContenantNoeud = findAllBranchesConnectedToNode(lstBranchesRestantes, + noeudCourant); + + while (lstBranchesContenantNoeud.size() > 0) { + // 2.2.1) Récupérer une telle branche et la stocker dans BrancheCourante. + final CatEMHBranche brancheCourante = lstBranchesContenantNoeud.remove(0); + + // 2.2.2) Récupérer le nœud situé à l’autre extrémité de BrancheCourante (par rapport à NoeudCourant) et le + // stocker + // dans lstNoeudsATester (s’il n’y figure pas déjà). + CatEMHNoeud nouveauNoeud = brancheCourante.getNoeudAmont(); + if (nouveauNoeud != noeudCourant) { + lstNoeudsATester.add(nouveauNoeud); + } else { + nouveauNoeud = brancheCourante.getNoeudAval(); + lstNoeudsATester.add(nouveauNoeud); + } + + // 2.2.3) Supprimer BrancheCourante de lstBranchesRestantes. + lstBranchesRestantes.remove(brancheCourante); + + } + + } + + if (lstBranchesRestantes.size() > 0) { + analyzer.addError("error.validationModele.branchesNonAffectes", + createMapBranchesNonAffectes(lstBranchesRestantes)); + return false; + } + + return true; + } + + /** + * Cree la liste de branches Active a partir de la liste de branches totales. + * + * @param lstBranchesTotales + * @return + */ + public static List<CatEMHBranche> remplirBranchesRestantesActives(final List<CatEMHBranche> lstBranchesTotales) { + final List<CatEMHBranche> listeBranches = new ArrayList<CatEMHBranche>(); + + for (final CatEMHBranche branche : lstBranchesTotales) { + if (branche.isActive()) { + listeBranches.add(branche); + } + } + return listeBranches; + + } + + /** + * Retrouve toutes les branches connectees au noeud. + * + * @param lstBranchesRestantes + * @param noeud + * @return + */ + public static List<CatEMHBranche> findAllBranchesConnectedToNode(final List<CatEMHBranche> lstBranchesRestantes, + final CatEMHNoeud noeud) { + final List<CatEMHBranche> listeConnected = new ArrayList<CatEMHBranche>(); + + for (final CatEMHBranche branche : lstBranchesRestantes) { + if (branche.isActive()) { + final CatEMHNoeud noeudAmont = branche.getNoeudAmont(); + if (noeudAmont == noeud) { + + listeConnected.add(branche); + + } else { + final CatEMHNoeud noeudAval = branche.getNoeudAval(); + if (noeudAval == noeud) { + + listeConnected.add(branche); + + } + } + } + } + + return listeConnected; + } + + /** + * Methode qui recherche dans la liste des branches le premier noeud d'une branche active. + * + * @param data + * @return + */ + public static CatEMHNoeud findNoeudDepart(final CrueData data) { + + for (int i = 0; i < data.getBranches().size(); i++) { + if (data.getBranches().get(i).isActive()) { + + CatEMHNoeud findNoeudDep = data.getBranches().get(i).getNoeudAmont(); + if (findNoeudDep != null) { return findNoeudDep; } + findNoeudDep = data.getBranches().get(i).getNoeudAval(); + if (findNoeudDep != null) { return findNoeudDep; } + + } + + } + return null; + } + + /** + * Verifie que tous les noeuds soient affectés a au moins une branche. + * + * @param data + * @param analyzer + * @return + */ + public static boolean IsNoeudsTousAffectes(final CrueData data, final CtuluAnalyze analyzer) { + + final List<CatEMHNoeud> listeNoeudsNonAffectes = new ArrayList<CatEMHNoeud>(data.getNoeuds().size()); + + // pourri collections... + // Collections.copy(listeNoeudsNonAffectes, data.getNoeuds()); + + for (final CatEMHNoeud node : data.getNoeuds()) { + listeNoeudsNonAffectes.add(node); + } + + for (final CatEMHBranche branche : data.getBranches()) { + if (branche.isActive()) { + final CatEMHNoeud noeudAmont = branche.getNoeudAmont(); + if (noeudAmont != null) { + + listeNoeudsNonAffectes.remove(noeudAmont); + + } else { + final HashMap<String, Object> map = new HashMap<String, Object>(); + map.put("branche", branche.getNom()); + analyzer.addError("error.validationModele.noeudAmontManquant", map); + return false; + } + final CatEMHNoeud noeudAval = branche.getNoeudAval(); + if (noeudAval != null) { + + listeNoeudsNonAffectes.remove(noeudAval); + + } else { + final HashMap<String, Object> map = new HashMap<String, Object>(); + map.put("branche", branche.getNom()); + analyzer.addError("error.validationModele.noeudAvalManquant", map); + return false; + } + } + } + if (listeNoeudsNonAffectes.size() != 0) { + analyzer.addError("error.validationModele.noeudNonAffectes", createMapNoeudsNonAffectes(listeNoeudsNonAffectes)); + } + + return listeNoeudsNonAffectes.size() == 0; + } + + /** + * Creer la map avec la liste des noeuds non affectes. + * + * @param listeNoeudsNonAffectes + * @return + */ + public static Map<String, Object> createMapNoeudsNonAffectes(final List<CatEMHNoeud> listeNoeudsNonAffectes) { + final String key = "noeuds"; + + String liste = ""; + + for (final CatEMHNoeud noeud : listeNoeudsNonAffectes) { + liste += " " + noeud.getNom(); + } + + final HashMap<String, Object> map = new HashMap<String, Object>(); + map.put(key, liste); + return map; + + } + + /** + * Creer la map avec la liste des branches non affectes. + * + * @param listeBranchesNonAffectes + * @return + */ + public static Map<String, Object> createMapBranchesNonAffectes(final List<CatEMHBranche> listeBranchesNonAffectes) { + final String key = "branches"; + + String liste = ""; + + for (final CatEMHBranche branche : listeBranchesNonAffectes) { + liste += " " + branche.getNom(); + } + + final HashMap<String, Object> map = new HashMap<String, Object>(); + map.put(key, liste); + return map; + + } +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java 2009-06-03 06:45:44 UTC (rev 4832) @@ -0,0 +1,54 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.validation; + +import java.io.File; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.metier.EMHScenario; + +/** + * Classe permettant de valider la cohérence des fichiers d'un modele + * + * @author deniger + */ +public class ValidateModeleScenario { + + private final File destDir; + private final EMHScenario scenario; + + private final String grammaireVersion = "1.0.0"; + + /** + * @param destDir le répertoire de travail de ce validation + * @param project le projet à valider + */ + public ValidateModeleScenario(File destDir, EMHScenario scenario) { + super(); + this.destDir = destDir; + this.scenario = scenario; + } + + /** + * Ecrit le fichier scenario.xml + */ + public CtuluAnalyze writeScenario() { + destDir.mkdirs(); + ScenarioWriter.InputFormatWriter out = new ScenarioWriter.InputFormatWriter(); + out.scenario = scenario; + out.version = grammaireVersion; + ScenarioWriter writer = new ScenarioWriter(); + writer.setFile(getScenarioFile()); + return writer.write(out).getAnalyze(); + } + + /** + * @return le fichier utiliser pour ecrire le fichier concatene + */ + public File getScenarioFile() { + return new File(destDir, "scenario.xml"); + } + +} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidationFichierScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidationFichierScenario.java 2009-06-02 17:50:17 UTC (rev 4831) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidationFichierScenario.java 2009-06-03 06:45:44 UTC (rev 4832) @@ -1,131 +0,0 @@ -/** - * Licence GPL - * Copyright Genesis - */ -package org.fudaa.dodico.crue.validation; - -import java.net.URL; - -import javax.xml.parsers.SAXParser; -import javax.xml.parsers.SAXParserFactory; -import javax.xml.validation.Schema; -import javax.xml.validation.SchemaFactory; - -import com.memoire.fu.FuLog; - -import org.fudaa.dodico.crue.io.AbstractIOTestCase; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; -import org.xml.sax.helpers.DefaultHandler; - -/** - * @author deniger - * - */ -public class ValidationFichierScenario { - - static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage"; - public static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema"; - static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource"; - - public static void main(String[] args) { - // final ErrorHandlerDefault handler = new ErrorHandlerDefault(res); - try { - - final URL xsdURL = AbstractIOTestCase.class.getResource("/xsd/all-etude-1.0.xsd"); - // final URL xsddfrtURL = AbstractIOTestCase.class.getResource("/xsd/dfrt-1.0.xsd"); - final URL xml = AbstractIOTestCase.class.getResource("/fichierTest/Modele3.drso.xml"); - final SchemaFactory schemaFactory = SchemaFactory.newInstance(W3C_XML_SCHEMA); - // schemaFactory.setResourceResolver(resourceResolver) - final Schema schema = schemaFactory.newSchema(xsdURL); - // // - // - // // parser.setSchema(schema); - DefaultHandler handler = new DefaultHandler() { - - @Override - public void processingInstruction(String target, String data) throws SAXException { - // FIXME Auto-generated method stub - super.processingInstruction(target, data); - } - - // @Override - // public void setDocumentLocator(Locator locator) { - // // FIXME Auto-generated method stub - // super.setDocumentLocator(locator); - // } - - @Override - public void startPrefixMapping(String prefix, String uri) throws SAXException { - // FIXME Auto-generated method stub - super.startPrefixMapping(prefix, uri); - } - - @Override - public void error(SAXParseException e) throws SAXException { - String msg = e.getMessage(); - if (msg.contains("no grammar found") || msg.contains("must match DOCTYPE root")) { return; } - System.err.println("erreur dans le fichier " + e.getSystemId() + " a la ligne " + e.getLineNumber() + " = " - + e.getLocalizedMessage() + "/" + e.getMessage()); - // e.printStackTrace(); - } - - @Override - public void fatalError(SAXParseException e) throws SAXException { - error(e); - } - - @Override - public void warning(SAXParseException e) throws SAXException { - // e.printStackTrace(); - } - }; - // final Validator validator = schema.newValidator(); - // // validator.s - // // SAXSource source = new SAXSource(new InputSource(xml.toString())); - // // validator.validate(source); - SAXParserFactory parser = SAXParserFactory.newInstance(); - // parser.setSchema(schema); - parser.setNamespaceAware(true); - parser.setXIncludeAware(true); - parser.setValidating(true); - SAXParser newSAXParser = parser.newSAXParser(); - newSAXParser.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); - newSAXParser.setProperty(JAXP_SCHEMA_SOURCE, new InputSource(xsdURL.toString())); - newSAXParser.parse(new InputSource(xml.toString()), handler); - // parser.newSAXParser().p - // DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); - // documentBuilderFactory.setNamespaceAware(true); - // documentBuilderFactory.setXIncludeAware(true); - // documentBuilderFactory.setValidating(true); - // documentBuilderFactory.setSchema(schema); - // DocumentBuilder parser = documentBuilderFactory.newDocumentBuilder(); - // parser.setErrorHandler(handler); - // Document document = parser.parse(xml.toURI().toString()); - // // - // // // create a SchemaFactory capable of understanding WXS schemas - // // SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); - // // - // // // load a WXS schema, represented by a Schema instance - // // Source schemaFile = new StreamSource(new File("mySchema.xsd")); - // // Schema schema = factory.newSchema(schemaFile); - // // - // // create a Validator instance, which can be used to validate an instance document - // Validator validator = schema.newValidator(); - // validator.setErrorHandler(handler); - // - // // // validate the DOM tree - // // try { - // // SAXSource source = new SAXSource(new InputSource(xml.toString())); - // validator.validate(new DOMSource(document)); - // validator.validate(source); - - } catch (final Exception e) { - // e.printStackTrace(); - FuLog.error(e); - } - - } - -} Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/scenario-1.0.0.xsd =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/scenario-1.0.0.xsd 2009-06-02 17:50:17 UTC (rev 4831) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/scenario-1.0.0.xsd 2009-06-03 06:45:44 UTC (rev 4832) @@ -27,8 +27,7 @@ <!-- ce fichier n'existe pas ! --> <!-- xs:include schemaLocation="optr-1.0.0.xsd" /--> <xs:include schemaLocation="frag-optg-1.0.0.xsd" /> - <!-- ce fichier non géré dans le lot 0--> - <!-- <xs:include schemaLocation="frag-opti-1.0.0.xsd" />--> + <xs:include schemaLocation="frag-opti-1.0.0.xsd" /> <xs:include schemaLocation="frag-pnum-1.0.0.xsd" /> <xs:include schemaLocation="frag-dpti-1.0.0.xsd" /> @@ -46,34 +45,57 @@ permet de concatener tous les fichiers en les prenant dans l'ordre Scenario-Modele-SousModele. --> - <xs:element name="ScenarioValidation"> + <xs:element name="ValidationScenario"> <xs:complexType> <xs:sequence> - <xs:element ref="OCAL" /> - <xs:element ref="ORES" /> - <xs:element ref="PCAL" /> - <xs:element ref="DCLM" /> - <xs:element ref="DLHY" /> + <xs:element name="ScenarioFichiers"> + <xs:complexType> + <xs:all> + <xs:element ref="OCAL" /> + <xs:element ref="ORES" /> + <xs:element ref="PCAL" /> + <xs:element ref="DCLM" /> + <xs:element ref="DLHY" /> + </xs:all> + </xs:complexType> + </xs:element> <!-- un scenario peut avoir plusieur modeles. Tous les fichiers seront concaténés à la suite ici --> - <xs:element ref="OPTG" maxOccurs="unbounded" /> - <xs:element ref="PNUM" maxOccurs="unbounded" /> - <xs:element ref="DPTI" maxOccurs="unbounded" /> - <!-- - un Modele peut avoir plusieurs sous-modeles. - --> - <xs:element ref="DRSO" maxOccurs="unbounded" /> - <xs:element ref="DCSP" maxOccurs="unbounded" /> - <xs:element ref="DPTG" maxOccurs="unbounded" /> - <xs:element ref="DFRT" maxOccurs="unbounded" /> + <!-- xs:element ref="OPTR" maxOccurs="unbounded" /--> + <xs:element name="ValidationModele" maxOccurs="unbounded" + minOccurs="1"> + <xs:complexType> + <xs:sequence> + <xs:element name="ModeleFichiers" maxOccurs="1"> + <xs:complexType> + <xs:all> + <xs:element ref="OPTG" /> + <xs:element ref="OPTI" /> + <xs:element ref="PNUM" /> + <xs:element ref="DPTI" /> + <!--un Modele peut avoir plusieurs sous-modeles.--> + </xs:all> + </xs:complexType> + </xs:element> + <xs:element name="SousModeleFichiers" maxOccurs="unbounded" + minOccurs="1"> + <xs:complexType> + <xs:all> + <xs:element ref="DRSO" /> + <xs:element ref="DCSP" /> + <xs:element ref="DPTG" /> + <xs:element ref="DFRT" /> + </xs:all> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> </xs:sequence> - </xs:complexType> - - </xs:element> 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 2009-06-02 17:50:17 UTC (rev 4831) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueETUFile.java 2009-06-03 06:45:44 UTC (rev 4832) @@ -1,7 +1,6 @@ package org.fudaa.dodico.crue.io; import org.fudaa.ctulu.CtuluAnalyze; -import org.fudaa.dodico.crue.io.Crue10FileFormatFactory; import org.fudaa.dodico.crue.metier.EMHScenario; import org.fudaa.dodico.crue.metier.EMHproject; @@ -52,7 +51,7 @@ } - private EMHproject readModele3() { + public static EMHproject readModele3() { final CtuluAnalyze analyzer = new CtuluAnalyze(); final EMHproject jeuDonneesLue = Crue10FileFormatFactory.getETUFileFormat().read(FICHIER_TEST_ETUDE_ETU_XML, analyzer, null); Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueValidationModele.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueValidationModele.java 2009-06-02 17:50:17 UTC (rev 4831) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueValidationModele.java 2009-06-03 06:45:44 UTC (rev 4832) @@ -4,7 +4,7 @@ import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.dodico.crue.metier.CrueData; -import org.fudaa.dodico.crue.validation.EMHValidatorModele; +import org.fudaa.dodico.crue.validation.ValidateConnectionModele; /** * Classe test de validation du modele. @@ -28,7 +28,7 @@ // analyzer.printResume(); analyzer = new CtuluAnalyze(); - final boolean res = EMHValidatorModele.validateConnexite(data, analyzer); + final boolean res = ValidateConnectionModele.validateConnexite(data, analyzer); analyzer.printResume(); assertEquals(resAttendu, res); Added: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java 2009-06-03 06:45:44 UTC (rev 4832) @@ -0,0 +1,54 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.validation; + +import java.io.File; +import java.io.IOException; + +import com.memoire.fu.FuLogCrue; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.ctulu.CtuluLibFile; +import org.fudaa.dodico.crue.common.AbstractTestCase; +import org.fudaa.dodico.crue.io.TestCrueETUFile; +import org.fudaa.dodico.crue.metier.EMHScenario; +import org.fudaa.dodico.crue.metier.EMHproject; + +/** + * @author deniger + */ +@SuppressWarnings("PMD.SystemPrintln") +public class TestValidateModeleScenario extends AbstractTestCase { + + public void testWriter() { + final EMHproject projet3 = TestCrueETUFile.readModele3(); + // on va cr + File destDir = null; + try { + destDir = CtuluLibFile.createTempDir("validate"); + } catch (final IOException e) { + fail(e.getMessage()); + FuLogCrue.error(e); + } + System.err.println("Dossier de destination= " + destDir.getAbsolutePath()); + final EMHScenario scenarioCourant = projet3.getScenarioCourant(); + // TODO il faut continuer le scenarioWriter pour obtenir le meme resultat que le fichier: + // Modele3.scenario.xml fourni dans le répertoire de test. Mise + final ValidateModeleScenario validator = new ValidateModeleScenario(destDir, scenarioCourant); + CtuluAnalyze writeScenario = validator.writeScenario(); + testAnalyser(writeScenario); + try { + String content = CtuluLibFile.litFichierTexte(validator.getScenarioFile()); + System.out.println("le contenu: "); + System.out.println(""); + System.out.println(content); + } catch (IOException e) { + e.printStackTrace(); + fail(e.getMessage()); + FuLogCrue.error(e); + } + + } +} Deleted: trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.run.xml.tmp =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.run.xml.tmp 2009-06-02 17:50:17 UTC (rev 4831) +++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.run.xml.tmp 2009-06-03 06:45:44 UTC (rev 4832) @@ -1,3 +0,0 @@ - -xmlns:xi="http://www.w3.org/2001/XInclude" -<xi:include href="Modele3.dfrt.xml"/> Copied: trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.scenario.xml (from rev 4817, trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.run.xml.tmp) =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.scenario.xml (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.scenario.xml 2009-06-03 06:45:44 UTC (rev 4832) @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ValidationScenario xmlns="http://www.fudaa.fr/xsd/crue" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude" + xsi:schemaLocation="http://www.fudaa.fr/xsd/crue http://www.fudaa.fr/xsd/crue/scenario-1.0.0.xsd"> + + <ScenarioFichiers> + <!-- l'ordre des fichier n'est pas important --> + <xi:include href="Modele3.ocal.xml" /> + <xi:include href="Modele3.ores.xml" /> + <xi:include href="Modele3.pcal.xml" /> + <xi:include href="Modele3.dclm.xml" /> + <xi:include href="Modele3.dlhy.xml" /> + </ScenarioFichiers> + <ValidationModele> + <ModeleFichiers> + <!--ce fichier n'est pas géré en v0--> + <xi:include href="Modele3.optr.xml" /> + <xi:include href="Modele3.optg.xml" /> + <xi:include href="Modele3.opti.xml" /> + <xi:include href="Modele3.pnum.xml" /> + <xi:include href="Modele3.dpti.xml" /> + </ModeleFichiers> + <SousModeleFichiers> + <xi:include href="Modele3.drso.xml" /> + <xi:include href="Modele3.dcsp.xml" /> + <xi:include href="Modele3.dptg.xml" /> + <xi:include href="Modele3.dfrt.xml" /> + </SousModeleFichiers> + </ValidationModele> +</ValidationScenario> \ No newline at end of file Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java 2009-06-02 17:50:17 UTC (rev 4831) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java 2009-06-03 06:45:44 UTC (rev 4832) @@ -20,7 +20,7 @@ import org.fudaa.dodico.crue.metier.emh.OrdResScenario; import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario; import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase; -import org.fudaa.dodico.crue.validation.EMHValidatorModele; +import org.fudaa.dodico.crue.validation.ValidateConnectionModele; import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.fudaa.crue.common.CrueCommomImplementation; import org.fudaa.fudaa.crue.common.FCrueResource; @@ -217,7 +217,7 @@ // -- Verifier la connexité du graphe --// CtuluAnalyze analyseValidationCOnnexite = projet.getManagerError().getNewAnalyser(); analyseValidationCOnnexite.setDesc(FCrueResource.getS("ihm.validation.connexite")); - final boolean res = EMHValidatorModele.validateConnexite(cruedataSousModele, analyseValidationCOnnexite); + final boolean res = ValidateConnectionModele.validateConnexite(cruedataSousModele, analyseValidationCOnnexite); if (!res) { return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2009-06-03 17:49:05
|
Revision: 4838 http://fudaa.svn.sourceforge.net/fudaa/?rev=4838&view=rev Author: caroledel Date: 2009-06-03 17:48:49 +0000 (Wed, 03 Jun 2009) Log Message: ----------- messages : insertion de valeurs dynamiques Validation scenario : generation du fichier scenario.xml + d?\195?\169but ecriture des fichiers xml utilis?\195?\169s par ce sc?\195?\169nario Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ScenarioWriter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ihmMessages.properties trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ScenarioWriter.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ScenarioWriter.java 2009-06-03 15:28:51 UTC (rev 4837) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ScenarioWriter.java 2009-06-03 17:48:49 UTC (rev 4838) @@ -5,17 +5,59 @@ package org.fudaa.dodico.crue.validation; import java.io.IOException; +import java.util.List; -import com.memoire.fu.FuLogCrue; - +import org.apache.commons.collections.CollectionUtils; import org.fudaa.dodico.crue.io.common.CrueFileOpWriterCharSimpleAbstract; +import org.fudaa.dodico.crue.metier.EMHModeleBase; +import org.fudaa.dodico.crue.metier.EMHModeleEnchainement; import org.fudaa.dodico.crue.metier.EMHScenario; +import org.fudaa.dodico.crue.metier.FichierCrue; +import com.memoire.fu.FuLogCrue; + /** * @author deniger */ public class ScenarioWriter extends CrueFileOpWriterCharSimpleAbstract { + /** Entête de tout fichier XML */ + public static final String ENTETE_XML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; + /** Propriété XMLNS */ + public static final String XMLNS = "http://www.fudaa.fr/xsd/crue"; + /** Propriété XMLNS:XSI */ + public static final String XMLNS_XSI = "http://www.w3.org/2001/XMLSchema-instance"; + /** Propriété XMLNS:XI */ + public static final String XMLNS_XI = "http://www.w3.org/2001/XInclude"; + /** Propriété XSI:SCHEMALOCATION auquel il faut concaténer le nom du fichier XSD */ + public static final String XSI_SCHEMALOCATION_SANS_NOM_XSD = XMLNS + " " + XMLNS; + + /** + * Forme la chaîne qui contient toutes les informations pour la validation d'un fichier XML (xmlns, xmlns:xsi, + * xmlns:xi, xsi:schemaLocation) et pour accepter les inclusions de fichiers + * + * @param nomXSD + * @return la chaîne formée des attributs cités + */ + public static String getChaineXMLAvecXmlnsXI(final String nomXSD) { + + return "xmlns=\"" + XMLNS + "\" xmlns:xsi=\"" + XMLNS_XSI + "\" xmlns:xi=\"" + XMLNS_XI + + "\" xsi:schemaLocation=\"" + XSI_SCHEMALOCATION_SANS_NOM_XSD + "/" + nomXSD + ".xsd"; + } + + /** + * Forme la chaîne qui contient toutes les informations pour la validation d'un fichier XML (xmlns, xmlns:xsi, + * xsi:schemaLocation) + * + * @param nomXSD + * @return la chaîne formée des attributs cités + */ + public static String getChaineXML(final String nomXSD) { + + return "xmlns=\"" + XMLNS + "\" xmlns:xsi=\"" + XMLNS_XSI + "\" xsi:schemaLocation=\"" + + XSI_SCHEMALOCATION_SANS_NOM_XSD + "/" + nomXSD + ".xsd"; + } + protected static class InputFormatWriter { protected String version; protected EMHScenario scenario; @@ -35,14 +77,91 @@ } + /** + * Ecriture du fichier XML de validation d'un scénario (qui contient l'ensemble des fichiers XML impactés dans le + * scénario qu'ils soient de niveau scénario, modèle et sous-modèle) + * + * @param in Objet qui contient le scénario à valider et la version de la XSD globale de validation + * @throws IOException + */ private void writeInput(InputFormatWriter in) throws IOException { - // TODO a continuer - // il faut parcourir tous les fichiers du scenario - // puis le modele - // puis le sousmodele - // pour écrire l'entete il faut bien prendre en compte la version le 1.0.0 dans le fichier d'exemple - super.out_.append("<?xml...."); + if (in == null || in.scenario == null || in.version == null) { return; } + + // Ecriture de l'entête + this.writelnToOut(ENTETE_XML); + this.writelnToOut("<ValidationScenario " + getChaineXMLAvecXmlnsXI("scenario-" + in.version) + "\">"); + + // Ecriture des fichiers du scénario + List<FichierCrue> listeFichiersScenario = in.scenario.getListeFichiersScenario(); + if (listeFichiersScenario != null) { + + this.writelnToOut("<ScenarioFichiers>"); + for (int i = 0, imax = listeFichiersScenario.size(); i < imax; i++) { + writeIncludeFichier(listeFichiersScenario.get(i).getId()); + } + this.writelnToOut("</ScenarioFichiers>"); + } + + // Ecriture des ValidationModele + EMHModeleEnchainement modeleEnch = in.scenario.getGestionModele(); + List<EMHModeleBase> modeles = modeleEnch.getListeModeles(); + + if (CollectionUtils.isNotEmpty(modeles)) { + for (int i = 0, imax = modeles.size(); i < imax; i++) { + + final EMHModeleBase modeleBase = modeles.get(i); + + this.writelnToOut("<ValidationModele>"); + + // Ecriture des fichiers du modèle + writeIncludeListeFichiers(modeleBase.getListeFichiersCrue(), "ModeleFichiers"); + + // Ecriture des fichiers des sous-modèles + final EMHModeleEnchainement ssModeleEnch = modeleBase.getListeSousModeles(); + final List<EMHModeleBase> ssModeles = ssModeleEnch.getListeModeles(); + if (CollectionUtils.isEmpty(ssModeles)) { + continue; + } + + for (int j = 0, jmax = ssModeles.size(); j < jmax; j++) { + writeIncludeListeFichiers(ssModeles.get(j).getListeFichiersCrue(), "SousModeleFichiers"); + } + + this.writelnToOut("</ValidationModele>"); + } + } + + this.writelnToOut("</ValidationScenario>"); } + /** + * Ecriture d'une ligne xi:include + * + * @param nomFichier Nom du fichier à inclure + * @throws IOException + */ + private void writeIncludeFichier(String nomFichier) throws IOException { + + this.writelnToOut("<xi:include href=\"" + nomFichier + "\" />"); + } + + /** + * Ecriture d'un ensemble de fichiers à inclure + * + * @param listeFichiers + * @param nomBalise Nom de la balise qui englobe la liste des fichiers à inclure + * @throws IOException + */ + private void writeIncludeListeFichiers(final List<FichierCrue> listeFichiers, final String nomBalise) + throws IOException { + + if (CollectionUtils.isEmpty(listeFichiers)) { return; } + + this.writelnToOut("<" + nomBalise + ">"); + for (int j = 0, jmax = listeFichiers.size(); j < jmax; j++) { + writeIncludeFichier(listeFichiers.get(j).getId()); + } + this.writelnToOut("</" + nomBalise + ">"); + } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java 2009-06-03 15:28:51 UTC (rev 4837) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java 2009-06-03 17:48:49 UTC (rev 4838) @@ -5,12 +5,20 @@ package org.fudaa.dodico.crue.validation; import java.io.File; +import java.util.List; +import org.apache.commons.collections.CollectionUtils; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.Crue10FileFormatFactory; +import org.fudaa.dodico.crue.io.dao.CrueHelper; +import org.fudaa.dodico.crue.metier.CrueData; +import org.fudaa.dodico.crue.metier.EMHModeleBase; +import org.fudaa.dodico.crue.metier.EMHModeleEnchainement; import org.fudaa.dodico.crue.metier.EMHScenario; +import org.fudaa.dodico.crue.metier.FichierCrue; /** - * Classe permettant de valider la cohérence des fichiers d'un modele + * Classe permettant de valider la cohérence des fichiers d'un modèle * * @author deniger */ @@ -19,11 +27,15 @@ private final File destDir; private final EMHScenario scenario; + private static final short NIVEAU_SCENARIO = 1; + private static final short NIVEAU_MODELE = 2; + private static final short NIVEAU_SS_MODELE = 3; + private final String grammaireVersion = "1.0.0"; /** - * @param destDir le répertoire de travail de ce validation - * @param project le projet à valider + * @param destDir le répertoire de travail de cette validation + * @param scenario le scénario à valider */ public ValidateModeleScenario(File destDir, EMHScenario scenario) { super(); @@ -33,6 +45,8 @@ /** * Ecrit le fichier scenario.xml + * + * @return Les messages d'erreur éventuels */ public CtuluAnalyze writeScenario() { destDir.mkdirs(); @@ -45,10 +59,152 @@ } /** - * @return le fichier utiliser pour ecrire le fichier concatene + * @return le fichier utilisé pour écrire le fichier concaténé */ public File getScenarioFile() { return new File(destDir, "scenario.xml"); } + /** + * @param crueData + * @return Les messages d'erreur éventuels + */ + public CtuluAnalyze writeFichiersXMLScenario(final CrueData crueData) { + + final CtuluAnalyze analyzer = new CtuluAnalyze(); + if (crueData == null || scenario == null) { + analyzer.addFatalError(""); + return analyzer; + } + + // Ecriture des fichiers du scénario + writeListeFichiers(scenario.getListeFichiersScenario(), crueData, analyzer, NIVEAU_SCENARIO); + + // Ecriture des ValidationModele + EMHModeleEnchainement modeleEnch = scenario.getGestionModele(); + List<EMHModeleBase> modeles = modeleEnch.getListeModeles(); + + if (CollectionUtils.isNotEmpty(modeles)) { + for (int i = 0, imax = modeles.size(); i < imax; i++) { + + final EMHModeleBase modeleBase = modeles.get(i); + + // Ecriture des fichiers du modèle + writeListeFichiers(modeleBase.getListeFichiersCrue(), crueData, analyzer, NIVEAU_MODELE); + + // Ecriture des fichiers des sous-modèles + final EMHModeleEnchainement ssModeleEnch = modeleBase.getListeSousModeles(); + final List<EMHModeleBase> ssModeles = ssModeleEnch.getListeModeles(); + if (CollectionUtils.isEmpty(ssModeles)) { + continue; + } + + for (int j = 0, jmax = ssModeles.size(); j < jmax; j++) { + + writeListeFichiers(ssModeles.get(j).getListeFichiersCrue(), crueData, analyzer, NIVEAU_SS_MODELE); + } + + } + } + + return analyzer; + } + + /** + * @param type + * @param crueData + * @param f + * @param analyzer + */ + private void writeFichierNivScenarioSelonType(final String type, final CrueData crueData, final File f, + final CtuluAnalyze analyzer) { + + if (type == null) { return; } + + if (type.equals(CrueHelper.OCAL)) { + Crue10FileFormatFactory.getOCALFileFormat().write(crueData.getOrdCalc(), f, analyzer); + } else if (type.equals(CrueHelper.ORES)) { + Crue10FileFormatFactory.getORESFileFormat().write(crueData.getOrdRes(), f, analyzer); + } else if (type.equals(CrueHelper.PCAL)) { + Crue10FileFormatFactory.getPCALFileFormat().write(crueData.getParamCalc(), f, analyzer); + } else if (type.equals(CrueHelper.DCLM)) { + Crue10FileFormatFactory.getDCLMFileFormat().write(crueData.getConditionsLim(), f, analyzer); + } else if (type.equals(CrueHelper.DLHY)) { + Crue10FileFormatFactory.getDLHYFileFormat().write(crueData.getLois(), f, analyzer); + } + } + + /** + * @param type + * @param crueData + * @param f + * @param analyzer + */ + private void writeFichierNivModeleSelonType(final String type, final CrueData crueData, final File f, + final CtuluAnalyze analyzer) { + + if (type == null) { return; } + + if (type.equals(CrueHelper.OPTR)) { + // Crue10FileFormatFactory.getOPTRFileFormat().write(crueData, f, analyzer); + } else if (type.equals(CrueHelper.OPTG)) { + Crue10FileFormatFactory.getOPTGFileFormat().write(crueData.getPretraitementsGeom(), f, analyzer); + } else if (type.equals(CrueHelper.OPTI)) { + Crue10FileFormatFactory.getOPTIFileFormat().write(crueData.getMethodesInterpolation(), f, analyzer); + } else if (type.equals(CrueHelper.PNUM)) { + Crue10FileFormatFactory.getPNUMFileFormat().write(crueData.getParamNumModeleBase(), f, analyzer); + } else if (type.equals(CrueHelper.DPTI)) { + Crue10FileFormatFactory.getDPTIFileFormat().write(crueData, f, analyzer); + } + } + + /** + * @param type + * @param crueData + * @param f + * @param analyzer + */ + private void writeFichierNivSsModeleSelonType(final String type, final CrueData crueData, final File f, + final CtuluAnalyze analyzer) { + + if (type == null) { return; } + + if (type.equals(CrueHelper.DRSO)) { + Crue10FileFormatFactory.getDRSOFileFormat().write(crueData, f, analyzer); + } else if (type.equals(CrueHelper.DCSP)) { + Crue10FileFormatFactory.getDCSPFileFormat().write(crueData.getAllEMH(), f, analyzer); + } else if (type.equals(CrueHelper.DPTG)) { + Crue10FileFormatFactory.getDPTGFileFormat().write(crueData, f, analyzer); + } else if (type.equals(CrueHelper.DFRT)) { + Crue10FileFormatFactory.getDFRTFileFormat().write(crueData.getFrottements(), f, analyzer); + } + } + + /** + * @param listeFichiers + * @param crueData + * @param analyzer + * @param niveauFichier + */ + private void writeListeFichiers(final List<FichierCrue> listeFichiers, final CrueData crueData, + final CtuluAnalyze analyzer, final short niveauFichier) { + + if (listeFichiers != null) { + + for (int i = 0, imax = listeFichiers.size(); i < imax; i++) { + final FichierCrue fichierCrue = listeFichiers.get(i); + final File f = new File(destDir, fichierCrue.getId()); + + if (niveauFichier == NIVEAU_SCENARIO) { + writeFichierNivScenarioSelonType(fichierCrue.getType(), crueData, f, analyzer); + } else if (niveauFichier == NIVEAU_MODELE) { + writeFichierNivModeleSelonType(fichierCrue.getType(), crueData, f, analyzer); + } else if (niveauFichier == NIVEAU_SS_MODELE) { + writeFichierNivSsModeleSelonType(fichierCrue.getType(), crueData, f, analyzer); + } + + } + } + + } } Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ihmMessages.properties =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ihmMessages.properties 2009-06-03 15:28:51 UTC (rev 4837) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ihmMessages.properties 2009-06-03 17:48:49 UTC (rev 4838) @@ -6,7 +6,7 @@ ihm.error.sousmodele.empty = Pas de sous mod\u00E8les d\u00E9finis pour ce mod\u00E8le ihm.titre.chargement.projet = Chargement projet ihm.modeles.dispos = Modeles disponibles -ihm.ss.modeles.dispos = Sous Modeles disponibles +ihm.ss.modeles.dispos = Sous Mod\xE8les disponibles ihm.scenarios.dispos = Sc\xE9narios disponibles ihm.scenario.courant = Sc\xE9nario courant ihm.par = par @@ -34,8 +34,7 @@ ihm.soumettre.commentaire = Soumettre un commentaire ihm.applis = Applications ihm.chargement = Chargement -ihm.scenario.courant = Le sc\xE9nario courant -ihm.confirm.chargt.scenario = va \xEAtre charg\xE9. Voulez-vous continuer ? +ihm.confirm.chargt.scenario.courant = Le sc\xE9nario courant {0} va \xEAtre charg\xE9. Voulez-vous continuer ? ihm.chargt.fichiers.scenario = Chargement des fichiers du scenario ihm.dcFailed.error = La lecture du fichier DC a \xE9chou\xE9e: {0} ihm.drsoFailed.error = La lecture du fichier DRSO a \xE9chou\xE9e: {0} @@ -47,23 +46,22 @@ ihm.notAnySousModelesFiles.error = Il manque un fichier dans un sous-mod\xE8le. Il faut une liste fixe de fichiers de niveau sous-mod\xE8le : DRSO, DPTG, DFRT, DCSP. ihm.res.chargt.scenario = R\xE9sultats du Chargement sc\xE9nario ihm.fichiers.scenario = Fichiers existants dans le sc\xE9nario -ihm.confirm.chargt.scenario1 = Etes-vous sur de vouloir charger ce sc\xE9nario -ihm.confirm.chargt.scenario2 = ? Il deviendra le sc\xE9nario courant. +ihm.confirm.chargt.scenario = Etes-vous s\xFBr de vouloir charger ce sc\xE9nario {0} ? Il deviendra le sc\xE9nario courant. ihm.charger.scenario = Charger Sc\xE9nario -ihm.drso.genere = Fichier DRSO g\xE9n\xE9r\xE9 dans -ihm.dfrt.genere = Fichier DFRT g\xE9n\xE9r\xE9 dans -ihm.dcsp.genere = Fichier DCSP g\xE9n\xE9r\xE9 dans -ihm.dptg.genere = Fichier DPTG g\xE9n\xE9r\xE9 dans -ihm.optg.genere = Fichier OPTG g\xE9n\xE9r\xE9 dans -ihm.pnum.genere = Fichier PNUM g\xE9n\xE9r\xE9 dans -ihm.dpti.genere = Fichier DPTI g\xE9n\xE9r\xE9 dans -ihm.ocal.genere = Fichier OCAL g\xE9n\xE9r\xE9 dans -ihm.ores.genere = Fichier ORES g\xE9n\xE9r\xE9 dans -ihm.pcal.genere = Fichier PCAL g\xE9n\xE9r\xE9 dans -ihm.dlhy.genere = Fichier DLHY g\xE9n\xE9r\xE9 dans -ihm.dclm.genere = Fichier DCLM g\xE9n\xE9r\xE9 dans -ihm.dc.genere = Fichier DC g\xE9n\xE9r\xE9 dans -ihm.dh.genere = Fichier DH g\xE9n\xE9r\xE9 dans +ihm.drso.genere = Fichier DRSO g\xE9n\xE9r\xE9 dans {0} +ihm.dfrt.genere = Fichier DFRT g\xE9n\xE9r\xE9 dans {0} +ihm.dcsp.genere = Fichier DCSP g\xE9n\xE9r\xE9 dans {0} +ihm.dptg.genere = Fichier DPTG g\xE9n\xE9r\xE9 dans {0} +ihm.optg.genere = Fichier OPTG g\xE9n\xE9r\xE9 dans {0} +ihm.pnum.genere = Fichier PNUM g\xE9n\xE9r\xE9 dans {0} +ihm.dpti.genere = Fichier DPTI g\xE9n\xE9r\xE9 dans {0} +ihm.ocal.genere = Fichier OCAL g\xE9n\xE9r\xE9 dans {0} +ihm.ores.genere = Fichier ORES g\xE9n\xE9r\xE9 dans {0} +ihm.pcal.genere = Fichier PCAL g\xE9n\xE9r\xE9 dans {0} +ihm.dlhy.genere = Fichier DLHY g\xE9n\xE9r\xE9 dans {0} +ihm.dclm.genere = Fichier DCLM g\xE9n\xE9r\xE9 dans {0} +ihm.dc.genere = Fichier DC g\xE9n\xE9r\xE9 dans {0} +ihm.dh.genere = Fichier DH g\xE9n\xE9r\xE9 dans {0} ihm.analyse = Analyse ihm.gestion.modeles = Gestion des mod\xE8les ihm.ss.modeles.associes = Sous mod\xE8les associ\xE9s @@ -81,7 +79,7 @@ ihm.res.comparaison = R\xE9sultat comparaison ihm.bouton.valider = Valider ihm.affichage.emhs = Affichage des EMHs -ihm.emhs.scenario = EMHs contenues dans le sc\xE9nario courant +ihm.emhs.scenario = EMHs contenues dans le sc\xE9nario courant {0} ihm.frame.chgt.format.crue9.crue10 = G\xE9n\xE9ration Crue 9 <=> Crue 10 ihm.onglet.crue10 = g\xE9n\xE9rer Crue 10 ihm.onglet.crue9 = g\xE9n\xE9rer Crue 9 @@ -96,7 +94,7 @@ ihm.transformation.crue9.crue10 = Transformation Crue 9 <=> Crue 10 ihm.infos.etude = Infos Etude ihm.label.etude = Etude: -ihm.label.creation = Creation: +ihm.label.creation = Cr\xE9ation: ihm.label.auteur = Auteur: ihm.bouton.parcourir2 = ... ihm.instruc.visualiser.scenario = Pour visualiser le sc\xE9nario, cliquer dessus ou sur le bouton ci-contre Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java 2009-06-03 15:28:51 UTC (rev 4837) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java 2009-06-03 17:48:49 UTC (rev 4838) @@ -7,21 +7,25 @@ import java.io.File; import java.io.IOException; -import com.memoire.fu.FuLogCrue; - import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.dodico.crue.common.AbstractTestCase; import org.fudaa.dodico.crue.io.TestCrueETUFile; +import org.fudaa.dodico.crue.metier.CrueData; import org.fudaa.dodico.crue.metier.EMHScenario; import org.fudaa.dodico.crue.metier.EMHproject; +import com.memoire.fu.FuLogCrue; + /** * @author deniger */ @SuppressWarnings("PMD.SystemPrintln") public class TestValidateModeleScenario extends AbstractTestCase { + /** + * Teste l'écriture du fichier de validation d'un scénario + */ public void testWriter() { final EMHproject projet3 = TestCrueETUFile.readModele3(); // on va cr @@ -34,8 +38,6 @@ } System.err.println("Dossier de destination= " + destDir.getAbsolutePath()); final EMHScenario scenarioCourant = projet3.getScenarioCourant(); - // TODO il faut continuer le scenarioWriter pour obtenir le meme resultat que le fichier: - // Modele3.scenario.xml fourni dans le répertoire de test. Mise final ValidateModeleScenario validator = new ValidateModeleScenario(destDir, scenarioCourant); CtuluAnalyze writeScenario = validator.writeScenario(); testAnalyser(writeScenario); @@ -50,5 +52,10 @@ FuLogCrue.error(e); } + // TODO CDE : CrueData null à ce stade ; Voir comment le charger... + CrueData crueData = scenarioCourant.getDataSources(); + CtuluAnalyze analyzer = validator.writeFichiersXMLScenario(crueData); + testAnalyser(analyzer); + } } Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java 2009-06-03 15:28:51 UTC (rev 4837) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java 2009-06-03 17:48:49 UTC (rev 4838) @@ -1,5 +1,6 @@ package org.fudaa.fudaa.crue.common; +import java.text.MessageFormat; import java.util.ResourceBundle; import org.fudaa.dodico.crue.io.common.Messages; @@ -28,6 +29,16 @@ return bundle.getString(_s); } + /** + * @param _s + * @param valeurs + * @return chaine complétée avec les valeurs passées en paramètre + */ + public static String getS(final String _s, final Object... valeurs) { + + return MessageFormat.format(getS(_s), valeurs); + } + // public static String getS(final String _s, final String _v0) { // return FCrueResource.CRUE.getString(_s, _v0); // } Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-06-03 15:28:51 UTC (rev 4837) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-06-03 17:48:49 UTC (rev 4838) @@ -126,8 +126,8 @@ // -- affichage du résultat --// if (projet.getScenarioCourant() != null) { - if (impl.question(FCrueResource.getS("ihm.chargement"), FCrueResource.getS("ihm.scenario.courant") + " " - + projet.getScenarioCourant().getId() + " " + FCrueResource.getS("ihm.confirm.chargt.scenario"))) { + if (impl.question(FCrueResource.getS("ihm.chargement"), FCrueResource.getS("ihm.confirm.chargt.scenario.courant", + projet.getScenarioCourant().getId()))) { ScenarioLoader algo = new ScenarioLoader(this, projet.getScenarioCourant()); // -- chargement du projet --// Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java 2009-06-03 15:28:51 UTC (rev 4837) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java 2009-06-03 17:48:49 UTC (rev 4838) @@ -69,8 +69,8 @@ @Override public void actionPerformed(ActionEvent _e) { - if (impl.question(FCrueResource.getS("ihm.chargement"), FCrueResource.getS("ihm.confirm.chargt.scenario1") + " " - + scenario.getId() + FCrueResource.getS("ihm.confirm.chargt.scenario2"))) { + if (impl.question(FCrueResource.getS("ihm.chargement"), FCrueResource.getS("ihm.confirm.chargt.scenario", + scenario.getId()))) { if (scenario != null) { ScenarioLoader algo = new ScenarioLoader(projet, scenario); algo.compute(); @@ -217,7 +217,8 @@ // -- Verifier la connexité du graphe --// CtuluAnalyze analyseValidationCOnnexite = projet.getManagerError().getNewAnalyser(); analyseValidationCOnnexite.setDesc(FCrueResource.getS("ihm.validation.connexite")); - final boolean res = ValidateConnectionModele.validateConnexite(cruedataSousModele, analyseValidationCOnnexite); + final boolean res = ValidateConnectionModele.validateConnexite(cruedataSousModele, + analyseValidationCOnnexite); if (!res) { return; } @@ -329,7 +330,7 @@ dataScenarioGlobale.setParamCalc(dataPCAL); } catch (Exception e) { - projet.getManagerError().getNewAnalyser().addError("io.xml.erreur", new Object[] { e.getMessage() }); + projet.getManagerError().getNewAnalyser().addError("io.xml.error", new Object[] { e.getMessage() }); } finally { // -- ajout des data au niveau scenario --// scenario.setDataSources(dataScenarioGlobale); Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java 2009-06-03 15:28:51 UTC (rev 4837) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java 2009-06-03 17:48:49 UTC (rev 4838) @@ -92,8 +92,7 @@ new CrueIOResu<CrueData>(projet.getProject().getScenarioCourant().getDataSources()), fileDc, projet.getManagerError().getNewAnalyser()); - projet.getManagerError().getLastAnalyser().addInfo( - FCrueResource.getS("ihm.dc.genere") + " " + fileDc.getAbsolutePath()); + projet.getManagerError().getLastAnalyser().addInfo(FCrueResource.getS("ihm.dc.genere", fileDc.getAbsolutePath())); File fileDH = null; if (saveAs) { @@ -107,8 +106,7 @@ new CrueIOResu<CrueData>(projet.getProject().getScenarioCourant().getDataSources()), fileDH, projet.getManagerError().getNewAnalyser()); - projet.getManagerError().getLastAnalyser().addInfo( - FCrueResource.getS("ihm.dh.genere") + " " + fileDH.getAbsolutePath()); + projet.getManagerError().getLastAnalyser().addInfo(FCrueResource.getS("ihm.dh.genere", fileDH.getAbsolutePath())); return ok; @@ -178,7 +176,7 @@ ok = Crue10FileFormatFactory.getDRSOFileFormat().write(data, fileDrso, projet.getManagerError().getNewAnalyser()); projet.getManagerError().getLastAnalyser().addInfo( - FCrueResource.getS("ihm.drso.genere") + " " + fileDrso.getAbsolutePath()); + FCrueResource.getS("ihm.drso.genere", fileDrso.getAbsolutePath())); } // -- generation DFRT --// @@ -196,7 +194,7 @@ projet.getManagerError().getNewAnalyser()); projet.getManagerError().getLastAnalyser().addInfo( - FCrueResource.getS("ihm.dfrt.genere") + " " + fileDfrt.getAbsolutePath()); + FCrueResource.getS("ihm.dfrt.genere", fileDfrt.getAbsolutePath())); } } // -- DCSP --// @@ -213,7 +211,7 @@ projet.getManagerError().getNewAnalyser()); projet.getManagerError().getLastAnalyser().addInfo( - FCrueResource.getS("ihm.dcsp.genere") + " " + fileDcsp.getAbsolutePath()); + FCrueResource.getS("ihm.dcsp.genere", fileDcsp.getAbsolutePath())); } // -- DPTG --// @@ -229,7 +227,7 @@ projet.getManagerError().getNewAnalyser()); projet.getManagerError().getLastAnalyser().addInfo( - FCrueResource.getS("ihm.dptg.genere") + " " + fileDptg.getAbsolutePath()); + FCrueResource.getS("ihm.dptg.genere", fileDptg.getAbsolutePath())); } // -- Niveau modele --// // Une liste fixe de fichiers de niveau modèle : (OPTR), OPTG, OPTI, PNUM, DPTI, RPTR, RPTG, RPTI, RCAL, CPTR, CPTG, @@ -249,7 +247,7 @@ projet.getManagerError().getNewAnalyser()); projet.getManagerError().getLastAnalyser().addInfo( - FCrueResource.getS("ihm.optg.genere") + " " + fileOptg.getAbsolutePath()); + FCrueResource.getS("ihm.optg.genere", fileOptg.getAbsolutePath())); } } // - PNUM --// @@ -266,7 +264,7 @@ projet.getManagerError().getNewAnalyser()); projet.getManagerError().getLastAnalyser().addInfo( - FCrueResource.getS("ihm.pnum.genere") + " " + filePnum.getAbsolutePath()); + FCrueResource.getS("ihm.pnum.genere", filePnum.getAbsolutePath())); } } @@ -284,7 +282,7 @@ projet.getManagerError().getNewAnalyser()); projet.getManagerError().getLastAnalyser().addInfo( - FCrueResource.getS("ihm.dpti.genere") + " " + fileDpti.getAbsolutePath()); + FCrueResource.getS("ihm.dpti.genere", fileDpti.getAbsolutePath())); } // -- niveau scenario Une liste fixe de fichiers de niveau scénario : OCAL, ORES, PCAL, DCLM, DLHY --// // -- OCAL --// @@ -301,7 +299,7 @@ projet.getManagerError().getNewAnalyser()); projet.getManagerError().getLastAnalyser().addInfo( - FCrueResource.getS("ihm.ocal.genere") + " " + fileOcal.getAbsolutePath()); + FCrueResource.getS("ihm.ocal.genere", fileOcal.getAbsolutePath())); } } @@ -320,7 +318,7 @@ projet.getManagerError().getNewAnalyser()); projet.getManagerError().getLastAnalyser().addInfo( - FCrueResource.getS("ihm.ores.genere") + " " + fileORES.getAbsolutePath()); + FCrueResource.getS("ihm.ores.genere", fileORES.getAbsolutePath())); } } // -- PCAL --// @@ -337,7 +335,7 @@ projet.getManagerError().getNewAnalyser()); projet.getManagerError().getLastAnalyser().addInfo( - FCrueResource.getS("ihm.pcal.genere") + " " + filePCAL.getAbsolutePath()); + FCrueResource.getS("ihm.pcal.genere", filePCAL.getAbsolutePath())); } } // -- DLHY --// @@ -354,7 +352,7 @@ projet.getManagerError().getNewAnalyser()); projet.getManagerError().getLastAnalyser().addInfo( - FCrueResource.getS("ihm.dlhy.genere") + " " + fileDLHY.getAbsolutePath()); + FCrueResource.getS("ihm.dlhy.genere", fileDLHY.getAbsolutePath())); } } // -- DCLM --// @@ -371,7 +369,7 @@ projet.getManagerError().getNewAnalyser()); projet.getManagerError().getLastAnalyser().addInfo( - FCrueResource.getS("ihm.dclm.genere") + " " + fileDCLM.getAbsolutePath()); + FCrueResource.getS("ihm.dclm.genere", fileDCLM.getAbsolutePath())); } } return ok; @@ -522,7 +520,7 @@ } } catch (Exception e) { - projet.getManagerError().getNewAnalyser().addError("io.xml.erreur", e.getMessage()); + projet.getManagerError().getNewAnalyser().addError("io.xml.error", e.getMessage()); // } finally { // return ok; } Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java 2009-06-03 15:28:51 UTC (rev 4837) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java 2009-06-03 17:48:49 UTC (rev 4838) @@ -62,7 +62,7 @@ treeEMH.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); this.getContentPane().add(new JScrollPane(treeEMH), BorderLayout.CENTER); this.getContentPane().add( - new JLabel(FCrueResource.getS("ihm.emhs.scenario") + " " + projet.getProject().getScenarioCourant().getId()), + new JLabel(FCrueResource.getS("ihm.emhs.scenario", projet.getProject().getScenarioCourant().getId())), BorderLayout.NORTH); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2009-06-03 22:59:49
|
Revision: 4839 http://fudaa.svn.sourceforge.net/fudaa/?rev=4839&view=rev Author: deniger Date: 2009-06-03 22:59:45 +0000 (Wed, 03 Jun 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.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/CrueConverterETU.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCLM.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDFRT.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDLHY.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTG.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDRSO.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureETU.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOCAL.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureORES.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructurePCAL.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructurePNUM.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueHelper.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHWriter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleRun.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CommomLib.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueApplicationManager.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueErrorManager.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleComparaisonScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleGenerationCrue9.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleInfosGenerales.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueConstants.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHContainer.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrueManager.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommonImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueEditorImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/Messages.java trunk/soft/fudaa-crue/fudaa/src/main/resources/org/ trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/ trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/ trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/ trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/ trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/bookmark-add.png trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/messages.properties Removed Paths: ------------- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -4,6 +4,8 @@ import java.io.OutputStream; import java.net.URL; +import com.memoire.bu.BuFileFilter; + import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.fileformat.FileReadOperationAbstract; import org.fudaa.ctulu.fileformat.FileWriteOperationAbstract; @@ -29,6 +31,24 @@ this(readerWriter.getXsdId(), readerWriter); } + @SuppressWarnings("serial") + @Override + public BuFileFilter createFileFilter() { + return new BuFileFilter(extensions, getDescription()) { + @Override + public String getExtension(final File _f) { + // on redefinit pour recuperer le premier point. + if (_f != null) { + final String filename = _f.getName(); + final int i = filename.indexOf('.'); + if ((i > 0) && (i < filename.length() - 1)) { return filename.substring(i + 1).toLowerCase(); } + } + return null; + } + + }; + } + /** * @param type le type en Upper case comme par exemple DFRT. */ Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -2,6 +2,7 @@ import java.util.List; +import org.fudaa.dodico.crue.io.common.CrueConstants; import org.fudaa.dodico.crue.io.dao.CrueConverterDCLM; import org.fudaa.dodico.crue.io.dao.CrueConverterDCSP; import org.fudaa.dodico.crue.io.dao.CrueConverterDFRT; @@ -44,7 +45,6 @@ import org.fudaa.dodico.crue.io.dao.CrueDaoStructureORES; import org.fudaa.dodico.crue.io.dao.CrueDaoStructurePCAL; import org.fudaa.dodico.crue.io.dao.CrueDaoStructurePNUM; -import org.fudaa.dodico.crue.io.dao.CrueHelper; import org.fudaa.dodico.crue.io.dao.CrueXmlReaderWriterImpl; import org.fudaa.dodico.crue.metier.CrueData; import org.fudaa.dodico.crue.metier.EMHproject; @@ -67,59 +67,59 @@ public class Crue10FileFormatFactory { private final static Crue10FileFormat<List<EMH>> DCSP = new Crue10FileFormat<List<EMH>>( - new CrueXmlReaderWriterImpl<CrueDaoDCSP, List<EMH>>(CrueHelper.DCSP, new CrueConverterDCSP(), + new CrueXmlReaderWriterImpl<CrueDaoDCSP, List<EMH>>(CrueConstants.DCSP, new CrueConverterDCSP(), new CrueDaoStructureDCSP())); private final static Crue10FileFormat<List<DonFrt>> DFRT = new Crue10FileFormat<List<DonFrt>>( - new CrueXmlReaderWriterImpl<CrueDaoDFRT, List<DonFrt>>(CrueHelper.DFRT, new CrueConverterDFRT(), + new CrueXmlReaderWriterImpl<CrueDaoDFRT, List<DonFrt>>(CrueConstants.DFRT, new CrueConverterDFRT(), new CrueDaoStructureDFRT())); private final static Crue10FileFormat<List<AbstractLoi>> DLHY = new Crue10FileFormat<List<AbstractLoi>>( - new CrueXmlReaderWriterImpl<CrueDaoDLHY, List<AbstractLoi>>(CrueHelper.DLHY, new CrueConverterDLHY(), + new CrueXmlReaderWriterImpl<CrueDaoDLHY, List<AbstractLoi>>(CrueConstants.DLHY, new CrueConverterDLHY(), new CrueDaoStructureDLHY())); private final static Crue10FileFormat<CrueData> DPTG = new Crue10FileFormat<CrueData>( - new CrueXmlReaderWriterImpl<CrueDaoDPTG, CrueData>(CrueHelper.DPTG, new CrueConverterDPTG(), + new CrueXmlReaderWriterImpl<CrueDaoDPTG, CrueData>(CrueConstants.DPTG, new CrueConverterDPTG(), new CrueDaoStructureDPTG())); private final static Crue10FileFormat<CrueData> DPTI = new Crue10FileFormat<CrueData>( - new CrueXmlReaderWriterImpl<CrueDaoDPTI, CrueData>(CrueHelper.DPTI, new CrueConverterDPTI(), + new CrueXmlReaderWriterImpl<CrueDaoDPTI, CrueData>(CrueConstants.DPTI, new CrueConverterDPTI(), new CrueDaoStructureDPTI())); private final static Crue10FileFormat<CrueData> DRSO = new Crue10FileFormat<CrueData>( - new CrueXmlReaderWriterImpl<CrueDaoDRSO, CrueData>(CrueHelper.DRSO, new CrueConverterDRSO(), + new CrueXmlReaderWriterImpl<CrueDaoDRSO, CrueData>(CrueConstants.DRSO, new CrueConverterDRSO(), new CrueDaoStructureDRSO())); - private final static Crue10FileFormat<EMHproject> ETU = new Crue10FileFormat<EMHproject>(CrueHelper.ETU, - new CrueXmlReaderWriterImpl<CrueDaoETU, EMHproject>(CrueHelper.ETU, new CrueConverterETU(), + private final static Crue10FileFormat<EMHproject> ETU = new Crue10FileFormat<EMHproject>(CrueConstants.ETU, + new CrueXmlReaderWriterImpl<CrueDaoETU, EMHproject>(CrueConstants.ETU, new CrueConverterETU(), new CrueDaoStructureETU())); private final static Crue10FileFormat<OrdPrtGeoModeleBase> OPTG = new Crue10FileFormat<OrdPrtGeoModeleBase>( - new CrueXmlReaderWriterImpl<CrueDaoOPTG, OrdPrtGeoModeleBase>(CrueHelper.OPTG, new CrueConverterOPTG(), + new CrueXmlReaderWriterImpl<CrueDaoOPTG, OrdPrtGeoModeleBase>(CrueConstants.OPTG, new CrueConverterOPTG(), new CrueDaoStructureOPTG())); private final static Crue10FileFormat<DonCLimMScenario> DCLM = new Crue10FileFormat<DonCLimMScenario>( - new CrueXmlReaderWriterImpl<CrueDaoDCLM, DonCLimMScenario>(CrueHelper.DCLM, new CrueConverterDCLM(), + new CrueXmlReaderWriterImpl<CrueDaoDCLM, DonCLimMScenario>(CrueConstants.DCLM, new CrueConverterDCLM(), new CrueDaoStructureDCLM())); private final static Crue10FileFormat<OrdResScenario> ORES = new Crue10FileFormat<OrdResScenario>( - new CrueXmlReaderWriterImpl<CrueDaoORES, OrdResScenario>(CrueHelper.ORES, new CrueConverterORES(), + new CrueXmlReaderWriterImpl<CrueDaoORES, OrdResScenario>(CrueConstants.ORES, new CrueConverterORES(), new CrueDaoStructureORES())); private final static Crue10FileFormat<OrdCalcScenario> OCAL = new Crue10FileFormat<OrdCalcScenario>( - new CrueXmlReaderWriterImpl<CrueDaoOCAL, OrdCalcScenario>(CrueHelper.OCAL, new CrueConverterOCAL(), + new CrueXmlReaderWriterImpl<CrueDaoOCAL, OrdCalcScenario>(CrueConstants.OCAL, new CrueConverterOCAL(), new CrueDaoStructureOCAL())); private final static Crue10FileFormat<ParamCalcScenario> PCAL = new Crue10FileFormat<ParamCalcScenario>( - new CrueXmlReaderWriterImpl<CrueDaoPCAL, ParamCalcScenario>(CrueHelper.PCAL, new CrueConverterPCAL(), + new CrueXmlReaderWriterImpl<CrueDaoPCAL, ParamCalcScenario>(CrueConstants.PCAL, new CrueConverterPCAL(), new CrueDaoStructurePCAL())); private final static Crue10FileFormat<ParamNumModeleBase> PNUM = new Crue10FileFormat<ParamNumModeleBase>( - new CrueXmlReaderWriterImpl<CrueDaoPNUM, ParamNumModeleBase>(CrueHelper.PNUM, new CrueConverterPNUM(), + new CrueXmlReaderWriterImpl<CrueDaoPNUM, ParamNumModeleBase>(CrueConstants.PNUM, new CrueConverterPNUM(), new CrueDaoStructurePNUM())); private final static Crue10FileFormat<OrdPrtCIniModeleBase> OPTI = new Crue10FileFormat<OrdPrtCIniModeleBase>( - new CrueXmlReaderWriterImpl<CrueDaoOPTI, OrdPrtCIniModeleBase>(CrueHelper.OPTI, new CrueConverterOPTI(), + new CrueXmlReaderWriterImpl<CrueDaoOPTI, OrdPrtCIniModeleBase>(CrueConstants.OPTI, new CrueConverterOPTI(), new CrueDaoStructureOPTI())); static { Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueConstants.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueConstants.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueConstants.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -0,0 +1,36 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.io.common; + +/** + * @author deniger + * + */ +public class CrueConstants { + + // -- listing des diff�rents fichiers et leur noms utilisés --// + public final static String ETU = "ETU"; //$NON-NLS-1$ + public final static String DRSO = "DRSO"; //$NON-NLS-1$ + public final static String ORES = "ORES"; //$NON-NLS-1$ + public final static String OCAL = "OCAL"; //$NON-NLS-1$ + public final static String PCAL = "PCAL"; //$NON-NLS-1$ + public final static String DCLM = "DCLM"; //$NON-NLS-1$ + public final static String DLHY = "DLHY"; //$NON-NLS-1$ + public final static String OPTR = "OPTR"; //$NON-NLS-1$ + public final static String OPTG = "OPTG"; //$NON-NLS-1$ + public final static String OPTI = "OPTI"; //$NON-NLS-1$ + public final static String PNUM = "PNUM"; //$NON-NLS-1$ + public final static String DPTI = "DPTI"; //$NON-NLS-1$ + public final static String DCSP = "DCSP"; //$NON-NLS-1$ + public final static String DPTG = "DPTG"; //$NON-NLS-1$ + public final static String DFRT = "DFRT"; //$NON-NLS-1$ + public final static String DC = "DC"; //$NON-NLS-1$ + public final static String DH = "DH"; //$NON-NLS-1$ + public final static String RPTR = "RPTR"; //$NON-NLS-1$ + public final static String RPTG = "RPTG"; //$NON-NLS-1$ + public final static String RPTI = "RPTI"; //$NON-NLS-1$ + public final static String RCAL = "RCAL"; //$NON-NLS-1$ + +} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -4,13 +4,7 @@ */ package org.fudaa.dodico.crue.io.common; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Enumeration; -import java.util.List; -import java.util.ResourceBundle; +import java.util.*; /** * @author deniger @@ -26,11 +20,9 @@ .getBundle("org.fudaa.dodico.crue.io.adrienMessages"); private static final ResourceBundle DH_RESOURCE_BUNDLE = ResourceBundle .getBundle("org.fudaa.dodico.crue.io.caroleMessages"); - private static final ResourceBundle IHM_RESOURCE_BUNDLE = ResourceBundle - .getBundle("org.fudaa.dodico.crue.io.ihmMessages"); /** ResourceBundle regroupant tous les ResourceBundle définis par des fichiers properties distincts */ public static final ResourceBundle RESOURCE_BUNDLE = new TempResourceBundle(ALL_RESOURCE_BUNDLE, DC_RESOURCE_BUNDLE, - DH_RESOURCE_BUNDLE, IHM_RESOURCE_BUNDLE); + DH_RESOURCE_BUNDLE); protected static class TempResourceBundle extends ResourceBundle { @@ -69,11 +61,4 @@ private Messages() {} - // public static String getString(String key) { - // try { - // return RESOURCE_BUNDLE.getString(key); - // } catch (MissingResourceException e) { - // return '!' + key + '!'; - // } - // } } 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-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCSP.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -6,6 +6,7 @@ import org.apache.commons.collections.CollectionUtils; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.CrueConstants; import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheAbstract; import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheBarrageFilEau; import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheBarrageFilEauAbstract; @@ -81,7 +82,7 @@ res.DonCalcSansPrtBranches = new ArrayList<DaoBrancheAbstract>(); if (CollectionUtils.isEmpty(metier)) { - CrueHelper.emhEmpty(CrueHelper.DCSP, analyser); + CrueHelper.emhEmpty(CrueConstants.DCSP, analyser); } else { for (final EMH emh : metier) { if (emh instanceof CatEMHBranche) { @@ -94,7 +95,7 @@ if (dataCalc != null) { CrueConverterDCSP.metierToDaoBranches(res.DonCalcSansPrtBranches, branche, dataCalc, analyser); } else { - CrueHelper.unknowdataFromFile("Branches", CrueHelper.DCSP, branche.getNom(), analyser); + CrueHelper.unknowdataFromFile("Branches", CrueConstants.DCSP, branche.getNom(), analyser); } } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -7,25 +7,8 @@ import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluLibArray; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureETU.FichierResultat; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureETU.Modele; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureETU.ModeleRun; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureETU.Ref; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureETU.Repertoire; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureETU.Run; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureETU.Scenario; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureETU.SousModele; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureETU.TypeFichierDispo; -import org.fudaa.dodico.crue.metier.CrueData; -import org.fudaa.dodico.crue.metier.EMHInfosVersion; -import org.fudaa.dodico.crue.metier.EMHModeleBase; -import org.fudaa.dodico.crue.metier.EMHModeleEnchainement; -import org.fudaa.dodico.crue.metier.EMHModeleRun; -import org.fudaa.dodico.crue.metier.EMHProjectInfos; -import org.fudaa.dodico.crue.metier.EMHRun; -import org.fudaa.dodico.crue.metier.EMHScenario; -import org.fudaa.dodico.crue.metier.EMHproject; -import org.fudaa.dodico.crue.metier.FichierCrue; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureETU.*; +import org.fudaa.dodico.crue.metier.*; /** * Factory qui se charge de remplir les structures DAO dufichier ETU avec les donn�es m�tier et inversement. @@ -121,7 +104,7 @@ // -- on essaie de retrouver la reference du fichier --// if (reference.NomRef != null && infos.existFileInBase(reference.NomRef)) { final FichierCrue fichierData = infos.getFileFromBase(reference.NomRef); - newScenar.addFichierDonneesToScenario(fichierData); + newScenar.addFichierDonnees(fichierData); } else { CrueHelper.unknowReference("Fichier", reference.NomRef, analyser); } @@ -129,7 +112,17 @@ } // -- ajout des modeles concernes --// - if (CtuluLibArray.isEmpty(scenarPersist.Modeles)) { + // cas de v9: + if (scenarPersist.ScenarioModeleV9 != null) { + if (scenarPersist.ScenarioModeleV9.NomRef != null + && baseModeles.existModeleInBase(scenarPersist.ScenarioModeleV9.NomRef)) { + final EMHModeleBase modeleData = baseModeles.getModeleFromBase(scenarPersist.ScenarioModeleV9.NomRef); + // -- ajout du modele dans le scenar --// + newScenar.addModeleDonneesToScenario(modeleData); + } else { + CrueHelper.unknowReference("Modele v9", scenarPersist.ScenarioModeleV9.NomRef, analyser); + } + } else if (CtuluLibArray.isEmpty(scenarPersist.Modeles)) { CrueHelper.listEmpty("Modele de Scenario" + " " + scenarPersist.Nom, analyser); } else { for (final Ref reference : scenarPersist.Modeles) { @@ -139,7 +132,7 @@ // -- ajout du modele dans le scenar --// newScenar.addModeleDonneesToScenario(modeleData); } else { - CrueHelper.unknowReference("SousModele", reference.NomRef, analyser); + CrueHelper.unknowReference("Modele", reference.NomRef, analyser); } } } @@ -260,7 +253,7 @@ // -- on essaie de retrouver la reference du fichier --// if (reference.NomRef != null && infos.existFileInBase(reference.NomRef)) { final FichierCrue fichierData = infos.getFileFromBase(reference.NomRef); - smMetier.addFichierDonneesToModele(fichierData); + smMetier.addFichierDonnees(fichierData); } else { CrueHelper.unknowReference("Fichier", reference.NomRef, analyser); } @@ -307,7 +300,7 @@ // -- on essaie de retrouver la reference du fichier --// if (reference.NomRef != null && infos.existFileInBase(reference.NomRef)) { final FichierCrue fichierData = infos.getFileFromBase(reference.NomRef); - newModeleMetier.addFichierDonneesToModele(fichierData); + newModeleMetier.addFichierDonnees(fichierData); } else { CrueHelper.unknowReference("Fichier", reference.NomRef, analyser); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCLM.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCLM.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCLM.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -8,6 +8,7 @@ import com.thoughtworks.xstream.XStream; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.CrueConstants; import org.fudaa.dodico.crue.io.common.EnumsConverter; import org.fudaa.dodico.crue.metier.emh.EnumSensOuv; @@ -26,7 +27,7 @@ */ public void configureXStream(final XStream xstream, CtuluAnalyze analyze) { - xstream.alias(CrueHelper.DCLM, CrueDaoDCLM.class); + xstream.alias(CrueConstants.DCLM, CrueDaoDCLM.class); xstream.addImplicitCollection(CrueDaoDCLM.class, "listeCalculs"); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -5,6 +5,7 @@ import com.thoughtworks.xstream.XStream; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.CrueConstants; import org.fudaa.dodico.crue.io.common.EnumsConverter; import org.fudaa.dodico.crue.metier.emh.EnumFormulePdc; import org.fudaa.dodico.crue.metier.emh.EnumSensOrifice; @@ -17,7 +18,7 @@ public void configureXStream(final XStream xstream, CtuluAnalyze analyze) { // -- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias(CrueHelper.DCSP, CrueDaoDCSP.class); + xstream.alias(CrueConstants.DCSP, CrueDaoDCSP.class); // -- liste des initialisations nécessaires pour le formattage des donn�es--// initXmlParserBranche(xstream); initXmlParserSection(xstream); @@ -32,7 +33,7 @@ */ protected static void initXmlParserForDSCP(final XStream xstream) { // -- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias(CrueHelper.DCSP, CrueDaoDCSP.class); + xstream.alias(CrueConstants.DCSP, CrueDaoDCSP.class); // -- liste des initialisations nécessaires pour le formattage des donn�es--// initXmlParserBranche(xstream); initXmlParserSection(xstream); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDFRT.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDFRT.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDFRT.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -3,6 +3,7 @@ import com.thoughtworks.xstream.XStream; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.CrueConstants; import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDLHY.DaoLoiFF; /** @@ -16,7 +17,7 @@ public void configureXStream(final XStream xstream, CtuluAnalyze analyze) { // -- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias(CrueHelper.DFRT, CrueDaoDFRT.class); + xstream.alias(CrueConstants.DFRT, CrueDaoDFRT.class); xstream.alias("LoiFF", DaoLoiFF.class); xstream.omitField(DaoLoiFF.class, "DateZeroLoiDF"); xstream.useAttributeFor(AbstractDaoLoi.class, "Nom"); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDLHY.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDLHY.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDLHY.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -1,6 +1,7 @@ package org.fudaa.dodico.crue.io.dao; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.CrueConstants; import com.thoughtworks.xstream.XStream; @@ -14,7 +15,7 @@ public void configureXStream(final XStream xstream, final CtuluAnalyze analyze) { - xstream.alias(CrueHelper.DLHY, CrueDaoDLHY.class); + xstream.alias(CrueConstants.DLHY, CrueDaoDLHY.class); xstream.alias("LoiFF", DaoLoiFF.class); xstream.alias("LoiDF", DaoLoiDF.class); xstream.omitField(DaoLoiFF.class, "DateZeroLoiDF"); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTG.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTG.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTG.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -5,6 +5,7 @@ import com.thoughtworks.xstream.XStream; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.CrueConstants; import org.fudaa.dodico.crue.metier.emh.EvolutionFF; import org.fudaa.dodico.crue.metier.emh.PtProfil; @@ -19,7 +20,7 @@ public void configureXStream(final XStream xstream, CtuluAnalyze analyze) { // -- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias(CrueHelper.DPTG, CrueDaoDPTG.class); + xstream.alias(CrueConstants.DPTG, CrueDaoDPTG.class); // -- liste des initialisations n�cessaires pour le formattage des donn�es--// initXmlParserSectionProfils(xstream); initXmlParserSections(xstream); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTI.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTI.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTI.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -3,6 +3,7 @@ import com.thoughtworks.xstream.XStream; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.CrueConstants; /** * Toutes les structures dao utilis�es et les inits du parser xml pour le format DPTI. Toutes ces structures sont @@ -19,7 +20,7 @@ public static void initXmlParserForDPTI(final XStream xstream) { // -- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias(CrueHelper.DPTI, CrueDaoDPTI.class); + xstream.alias(CrueConstants.DPTI, CrueDaoDPTI.class); // -- liste des initialisations n�cessaires pour le formattage des donn�es--// initXmlParserNode(xstream); initXmlParserBranche(xstream); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDRSO.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDRSO.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDRSO.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -5,6 +5,7 @@ import com.thoughtworks.xstream.XStream; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.CrueConstants; /** * Toutes les structures dao utilis�es et les inits du parser xml pour le format DRSO. Toutes ces structures sont @@ -17,7 +18,7 @@ public void configureXStream(final XStream xstream, CtuluAnalyze analyze) { // -- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias(CrueHelper.DRSO, CrueDaoDRSO.class); + xstream.alias(CrueConstants.DRSO, CrueDaoDRSO.class); // -- liste des initialisations n�cessaires pour le formattage des donn�es--// CrueDaoStructureDRSO.initXmlParserNode(xstream); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureETU.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureETU.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureETU.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -6,6 +6,7 @@ import com.thoughtworks.xstream.converters.SingleValueConverter; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.CrueConstants; /** * @author Adrien Hadoux @@ -19,7 +20,7 @@ public static void initXmlParserForETU(final XStream xstream) { // -- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias(CrueHelper.ETU, CrueDaoETU.class); + xstream.alias(CrueConstants.ETU, CrueDaoETU.class); xstream.omitField(CrueDaoETU.class, "VersionCrue"); // -- liste des initialisations n�cessaires pour le formattage des donn�es--// initXmlParserForScenario(xstream); @@ -101,22 +102,22 @@ // -- dans la les balsies <FichEtudes> --// // xstream.alias("Fichier", Ref.class); - xstream.alias(CrueHelper.DC, Ref.class); - xstream.alias(CrueHelper.DH, Ref.class); - xstream.alias(CrueHelper.DCLM, Ref.class); - xstream.alias(CrueHelper.DCSP, Ref.class); - xstream.alias(CrueHelper.DFRT, Ref.class); - xstream.alias(CrueHelper.DLHY, Ref.class); - xstream.alias(CrueHelper.DPTG, Ref.class); - xstream.alias(CrueHelper.DPTI, Ref.class); - xstream.alias(CrueHelper.DRSO, Ref.class); - xstream.alias(CrueHelper.PNUM, Ref.class); - xstream.alias(CrueHelper.PCAL, Ref.class); - xstream.alias(CrueHelper.OCAL, Ref.class); - xstream.alias(CrueHelper.OPTG, Ref.class); - xstream.alias(CrueHelper.OPTI, Ref.class); - xstream.alias(CrueHelper.OPTR, Ref.class); - xstream.alias(CrueHelper.ORES, Ref.class); + xstream.alias(CrueConstants.DC, Ref.class); + xstream.alias(CrueConstants.DH, Ref.class); + xstream.alias(CrueConstants.DCLM, Ref.class); + xstream.alias(CrueConstants.DCSP, Ref.class); + xstream.alias(CrueConstants.DFRT, Ref.class); + xstream.alias(CrueConstants.DLHY, Ref.class); + xstream.alias(CrueConstants.DPTG, Ref.class); + xstream.alias(CrueConstants.DPTI, Ref.class); + xstream.alias(CrueConstants.DRSO, Ref.class); + xstream.alias(CrueConstants.PNUM, Ref.class); + xstream.alias(CrueConstants.PCAL, Ref.class); + xstream.alias(CrueConstants.OCAL, Ref.class); + xstream.alias(CrueConstants.OPTG, Ref.class); + xstream.alias(CrueConstants.OPTI, Ref.class); + xstream.alias(CrueConstants.OPTR, Ref.class); + xstream.alias(CrueConstants.ORES, Ref.class); // -- dans la balise <Modele> --// xstream.alias("Modele-SousModele", Ref.class); @@ -140,10 +141,10 @@ xstream.addImplicitCollection(ModeleRun.class, "fichiersRes"); // -- gestion des fichiers resultats du modele run --// - xstream.alias(CrueHelper.RCAL, FichierResultatRCAL.class); - xstream.alias(CrueHelper.RPTG, FichierResultatRPTG.class); - xstream.alias(CrueHelper.RPTI, FichierResultatRPTI.class); - xstream.alias(CrueHelper.RPTR, FichierResultatRPTR.class); + xstream.alias(CrueConstants.RCAL, FichierResultatRCAL.class); + xstream.alias(CrueConstants.RPTG, FichierResultatRPTG.class); + xstream.alias(CrueConstants.RPTI, FichierResultatRPTI.class); + xstream.alias(CrueConstants.RPTR, FichierResultatRPTR.class); // xstream.alias("Run-Fichier", FichierResultat.class); xstream.useAttributeFor(FichierResultat.class, "Nom"); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOCAL.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOCAL.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOCAL.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -6,6 +6,7 @@ import com.thoughtworks.xstream.XStream; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.CrueConstants; /** * Structures utilisees dans la classe CrueDaoOCAL @@ -20,7 +21,7 @@ */ public void configureXStream(final XStream xstream, CtuluAnalyze analyze) { - xstream.alias(CrueHelper.OCAL, CrueDaoOCAL.class); + xstream.alias(CrueConstants.OCAL, CrueDaoOCAL.class); xstream.addImplicitCollection(CrueDaoOCAL.class, "listeOrdCalculs"); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -1,6 +1,7 @@ package org.fudaa.dodico.crue.io.dao; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.CrueConstants; import com.thoughtworks.xstream.XStream; @@ -13,7 +14,7 @@ public class CrueDaoStructureOPTI implements CrueDaoStructure { public void configureXStream(XStream xstream, CtuluAnalyze analyze) { - xstream.alias(CrueHelper.OPTI, CrueDaoOPTI.class); + xstream.alias(CrueConstants.OPTI, CrueDaoOPTI.class); // xstream.addImplicitCollection(CrueDaoOPTI.class, "listeInterpol"); xstream.alias("InterpolLineaire", InterpolLineaire.class); xstream.alias("InterpolSaintVenant", InterpolSaintVenant.class); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureORES.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureORES.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureORES.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -6,6 +6,7 @@ import com.thoughtworks.xstream.XStream; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.CrueConstants; /** * Structures utilisées dans la classe CrueDaoORES @@ -17,7 +18,7 @@ public void configureXStream(final XStream xstream, CtuluAnalyze analyze) { - xstream.alias(CrueHelper.ORES, CrueDaoORES.class); + xstream.alias(CrueConstants.ORES, CrueDaoORES.class); xstream.alias("OrdResNoeudNiveauContinu", NoeudNiveauContinuPersist.class); xstream.alias("OrdResCasierProfil", CasierProfilPersist.class); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructurePCAL.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructurePCAL.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructurePCAL.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -6,6 +6,7 @@ import com.thoughtworks.xstream.XStream; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.CrueConstants; /** * Structures utilisées dans la classe CrueDaoPCAL @@ -20,7 +21,7 @@ */ public void configureXStream(final XStream xstream, CtuluAnalyze analyze) { - xstream.alias(CrueHelper.PCAL, CrueDaoPCAL.class); + xstream.alias(CrueConstants.PCAL, CrueDaoPCAL.class); xstream.alias("PdtCouplage", PdtCouplagePersist.class); xstream.alias("PdtRes", PdtRes.class); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructurePNUM.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructurePNUM.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructurePNUM.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -8,6 +8,7 @@ import com.thoughtworks.xstream.XStream; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.io.common.CrueConstants; /** * Structures utilisées dans la classe CrueDaoPNUM @@ -19,7 +20,7 @@ public void configureXStream(final XStream xstream, CtuluAnalyze analyze) { - xstream.alias(CrueHelper.PNUM, CrueDaoPNUM.class); + xstream.alias(CrueConstants.PNUM, CrueDaoPNUM.class); xstream.alias("Pdt", DaoPdt.class); xstream.alias("ElemPdt", DaoElemPdt.class); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueHelper.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueHelper.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueHelper.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -21,36 +21,9 @@ */ public final static String symboleConnection = "-"; //$NON-NLS-1$ - // -- listing des diff�rents fichiers et leur noms utilisés --// - public final static String ETU = "ETU"; //$NON-NLS-1$ - - public final static String DRSO = "DRSO"; //$NON-NLS-1$ - public final static String ORES = "ORES"; //$NON-NLS-1$ - public final static String OCAL = "OCAL"; //$NON-NLS-1$ - public final static String PCAL = "PCAL"; //$NON-NLS-1$ - public final static String DCLM = "DCLM"; //$NON-NLS-1$ - public final static String DLHY = "DLHY"; //$NON-NLS-1$ - public final static String OPTR = "OPTR"; //$NON-NLS-1$ - public final static String OPTG = "OPTG"; //$NON-NLS-1$ - public final static String OPTI = "OPTI"; //$NON-NLS-1$ - public final static String PNUM = "PNUM"; //$NON-NLS-1$ - public final static String DPTI = "DPTI"; //$NON-NLS-1$ - public final static String DCSP = "DCSP"; //$NON-NLS-1$ - public final static String DPTG = "DPTG"; //$NON-NLS-1$ - public final static String DFRT = "DFRT"; //$NON-NLS-1$ - public final static String DC = "DC"; //$NON-NLS-1$ - public final static String DH = "DH"; //$NON-NLS-1$ - // -- fichiers de resultats --// public final static String FICHIERRESULTAT = "RESULTAT"; //$NON-NLS-1$ - public final static String RPTR = "RPTR"; //$NON-NLS-1$ - public final static String RPTG = "RPTG"; //$NON-NLS-1$ - public final static String RPTI = "RPTI"; //$NON-NLS-1$ - public final static String RCAL = "RCAL"; //$NON-NLS-1$ - - - /** * Compare l'égalité de 2 pt profils * Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -87,6 +87,7 @@ public void setFile(final File _f) { analyze_ = new CtuluAnalyze(); analyze_.setResource(_f.getAbsolutePath()); + analyze_.setDesc(_f.getName()); analyze_.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); try { out_ = new FileWriter(_f); 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-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHWriter.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -10,6 +10,8 @@ import java.util.List; import java.util.StringTokenizer; +import com.thoughtworks.xstream.converters.SingleValueConverter; + import org.apache.commons.collections.CollectionUtils; import org.fudaa.ctulu.CtuluActivity; import org.fudaa.ctulu.fileformat.FortranInterface; @@ -17,53 +19,8 @@ import org.fudaa.dodico.crue.io.common.EnumsConverter; import org.fudaa.dodico.crue.metier.CrueData; import org.fudaa.dodico.crue.metier.CrueDate; -import org.fudaa.dodico.crue.metier.emh.AbstractLoi; -import org.fudaa.dodico.crue.metier.emh.CalcPseudoPerm; -import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermBrancheOrificeManoeuvre; -import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermBrancheSaintVenantQruis; -import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermNoeudNiveauContinuQapp; -import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermNoeudNiveauContinuZimpose; -import org.fudaa.dodico.crue.metier.emh.CalcTrans; -import org.fudaa.dodico.crue.metier.emh.CalcTransBrancheOrificeManoeuvre; -import org.fudaa.dodico.crue.metier.emh.CalcTransBrancheSaintVenantQruis; -import org.fudaa.dodico.crue.metier.emh.CalcTransItem; -import org.fudaa.dodico.crue.metier.emh.CalcTransNoeudNiveauContinuLimnigramme; -import org.fudaa.dodico.crue.metier.emh.CalcTransNoeudNiveauContinuQapp; -import org.fudaa.dodico.crue.metier.emh.CalcTransNoeudNiveauContinuTarrage; -import org.fudaa.dodico.crue.metier.emh.CatEMHBranche; -import org.fudaa.dodico.crue.metier.emh.CatEMHNoeud; -import org.fudaa.dodico.crue.metier.emh.CatEMHSection; -import org.fudaa.dodico.crue.metier.emh.DonCLimMScenario; -import org.fudaa.dodico.crue.metier.emh.DonPrtCIni; -import org.fudaa.dodico.crue.metier.emh.DonPrtCIniBranche; -import org.fudaa.dodico.crue.metier.emh.DonPrtCIniNoeudNiveauContinu; -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.Duration; -import org.fudaa.dodico.crue.metier.emh.EMHSectionProfil; -import org.fudaa.dodico.crue.metier.emh.ElemPdt; -import org.fudaa.dodico.crue.metier.emh.EnumSensOuv; -import org.fudaa.dodico.crue.metier.emh.EvolutionFF; -import org.fudaa.dodico.crue.metier.emh.LoiDF; -import org.fudaa.dodico.crue.metier.emh.LoiFF; -import org.fudaa.dodico.crue.metier.emh.OrdCalcPerm; -import org.fudaa.dodico.crue.metier.emh.OrdCalcPseudoPerm; -import org.fudaa.dodico.crue.metier.emh.OrdCalcPseudoPermIniCalcReprise; -import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario; -import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario; -import org.fudaa.dodico.crue.metier.emh.ParamNumCalcPseudoPerm; -import org.fudaa.dodico.crue.metier.emh.ParamNumCalcTrans; -import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase; -import org.fudaa.dodico.crue.metier.emh.Pdt; -import org.fudaa.dodico.crue.metier.emh.PdtCst; -import org.fudaa.dodico.crue.metier.emh.PdtVar; -import org.fudaa.dodico.crue.metier.emh.PtEvolutionFF; -import org.fudaa.dodico.crue.metier.emh.PtProfil; -import org.fudaa.dodico.crue.metier.emh.RelationEMH; +import org.fudaa.dodico.crue.metier.emh.*; -import com.thoughtworks.xstream.converters.SingleValueConverter; - /** * Writer de la structure DH. * @@ -86,11 +43,13 @@ final Hashtable coeffsRuisParCalcPerm = new Hashtable(); writeDonneesGenerales(data, coeffsRuisParCalcPerm); + if (aDonneesPerm) { + writeDonneesPermanentes(data, coeffsRuisParCalcPerm); + } + if (aDonneesTrans) { + writeDonneesTransitoires(data); + } - writeDonneesPermanentes(data, coeffsRuisParCalcPerm); - - writeDonneesTransitoires(data); - } catch (final IOException e) { analyze_.manageException(e); } finally { @@ -109,6 +68,9 @@ return fortranWriter_; } + boolean aDonneesPerm = false; + boolean aDonneesTrans = false; + /** * @param data * @throws IOException @@ -135,8 +97,6 @@ // ical boolean aDonneesGen = false; - boolean aDonneesPerm = false; - boolean aDonneesTrans = false; // 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 = data.getBranches(); @@ -156,9 +116,9 @@ // On a des données transitoires si au moins un calcul transitoire existe dans DCLM final DonCLimMScenario dclm = data.getConditionsLim(); if (dclm != null) { - List<CalcPseudoPerm> calcPseudoPerm = dclm.getCalcPseudoPerm(); + final List<CalcPseudoPerm> calcPseudoPerm = dclm.getCalcPseudoPerm(); aDonneesPerm = CollectionUtils.isNotEmpty(calcPseudoPerm); - List<CalcTrans> calcTrans = dclm.getCalcTrans(); + final List<CalcTrans> calcTrans = dclm.getCalcTrans(); aDonneesTrans = CollectionUtils.isNotEmpty(calcTrans); // cru @@ -1117,22 +1077,22 @@ // Parcours des noeuds niveau continu // final int listeNNCsSize = listeNNCs.size(); - for (CalcTransItem lim : calcTrans.getCalcTransNoeudNiveauContinuLimnigramme()) { + for (final CalcTransItem lim : calcTrans.getCalcTransNoeudNiveauContinuLimnigramme()) { // nomEmh = emhs.get(countDonCLimM).getNom(); manageTranItem(lim, typesCL, lignesE); } - for (CalcTransNoeudNiveauContinuQapp lim : calcTrans.getCalcTransNoeudNiveauContinuQapp()) { + for (final CalcTransNoeudNiveauContinuQapp lim : calcTrans.getCalcTransNoeudNiveauContinuQapp()) { manageTranItem(lim, typesCL, lignesE); } - for (CalcTransNoeudNiveauContinuTarrage lim : calcTrans.getCalcTransNoeudNiveauContinuTarrage()) { + for (final CalcTransNoeudNiveauContinuTarrage lim : calcTrans.getCalcTransNoeudNiveauContinuTarrage()) { manageTranItem(lim, typesCL, lignesE); } - for (CalcTransBrancheOrificeManoeuvre lim : calcTrans.getCalcTransBrancheOrificeManoeuvre()) { + for (final CalcTransBrancheOrificeManoeuvre lim : calcTrans.getCalcTransBrancheOrificeManoeuvre()) { manageTranItem(lim, typesCL, lignesE); } @@ -1184,12 +1144,12 @@ } - private void manageTranItem(CalcTransItem lim, final TObjectIntHashMap typesCL, final List<AbstractLoi> lignesE) + private void manageTranItem(final CalcTransItem lim, final TObjectIntHashMap typesCL, final List<AbstractLoi> lignesE) throws IOException { fortranWriter_.stringField(0, lim.getNomEMH()); int typeCL = typesCL.get(lim.getClass()); if (lim instanceof CalcTransBrancheOrificeManoeuvre) { - CalcTransBrancheOrificeManoeuvre or = (CalcTransBrancheOrificeManoeuvre) lim; + final CalcTransBrancheOrificeManoeuvre or = (CalcTransBrancheOrificeManoeuvre) lim; if (EnumSensOuv.OUV_VERS_BAS.equals(or.getSensOuv())) { typeCL++; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -4,25 +4,7 @@ import java.util.List; import org.fudaa.dodico.crue.io.neuf.STOSequentialReader; -import org.fudaa.dodico.crue.metier.emh.AbstractLoi; -import org.fudaa.dodico.crue.metier.emh.CatEMHBranche; -import org.fudaa.dodico.crue.metier.emh.CatEMHCasier; -import org.fudaa.dodico.crue.metier.emh.CatEMHNoeud; -import org.fudaa.dodico.crue.metier.emh.CatEMHSection; -import org.fudaa.dodico.crue.metier.emh.DonCLimMScenario; -import org.fudaa.dodico.crue.metier.emh.DonFrt; -import org.fudaa.dodico.crue.metier.emh.DonFrtStrickler; -import org.fudaa.dodico.crue.metier.emh.EMH; -import org.fudaa.dodico.crue.metier.emh.EvolutionFF; -import org.fudaa.dodico.crue.metier.emh.LoiFF; -import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario; -import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase; -import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; -import org.fudaa.dodico.crue.metier.emh.OrdResScenario; -import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario; -import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase; -import org.fudaa.dodico.crue.metier.emh.PtEvolutionFF; -import org.fudaa.dodico.crue.metier.emh.ResPrtGeo; +import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.metier.helper.EMHBrancheHelper; import org.fudaa.dodico.crue.metier.helper.EMHCasierHelper; import org.fudaa.dodico.crue.metier.helper.EMHNoeudHelper; @@ -138,6 +120,26 @@ frottements = new ArrayList<DonFrt>(); } + public CrueDataImpl(CrueData copy) { + this(); + if (copy != null) { + noeuds = copy.getNoeuds(); + branches = copy.getBranches(); + sections = copy.getSections(); + casiers = copy.getCasiers(); + frottements = copy.getFrottements(); + lois = copy.getLois(); + conditionsLim = copy.getConditionsLim(); + ordCalc = copy.getOrdCalc(); + ordRes = copy.getOrdRes(); + this.dataParamNumModeleBase = copy.getParamNumModeleBase(); + this.methodesInterpolation = copy.getMethodesInterpolation(); + this.paramCalc = copy.getParamCalc(); + this.pretraitementsGeom = copy.getPretraitementsGeom(); + this.rptg = copy.getRptg(); + } + } + /** * Ajoute automatiquement l'objet emh dans la bonne structure. * Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHContainer.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHContainer.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHContainer.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -0,0 +1,58 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.metier; + +import java.util.Arrays; +import java.util.List; + +/** + * @author deniger + */ +public class EMHContainer { + + /** + * Les donnees crueData du scenario . + */ + private CrueData dataSource; + /** + * Liste des fichiers rattach�s au scenario . Ces fichiers proviennent de la classe EMHProjetInfos qui contient la + * base des fichiers du projet. Ces fichiers sont uniquement des fichiers r�sultat ? + */ + private FichierCrueManager listeFichiers_; + + /** + * @return le manager des fichiers + */ + public final FichierCrueManager getListeFichiers() { + return listeFichiers_; + } + + public final void setListeFichiers(final List<FichierCrue> listeFichiersResultatsScenario) { + this.listeFichiers_ = new FichierCrueManager(listeFichiersResultatsScenario); + } + + /** + * Ajoute un fichier . + * + * @param fichier + * @return + */ + public final boolean addFichierDonnees(final FichierCrue fichier) { + if (listeFichiers_ == null) { + listeFichiers_ = new FichierCrueManager(Arrays.asList(fichier)); + } + listeFichiers_.addFile(fichier); + return true; + } + + public final CrueData getDataSource() { + return dataSource; + } + + public final void setDataSource(CrueData dataSources) { + this.dataSource = dataSources; + } + +} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -1,6 +1,5 @@ package org.fudaa.dodico.crue.metier; -import java.util.ArrayList; import java.util.List; /** @@ -8,7 +7,7 @@ * * @author Adrien Hadoux */ -public class EMHModeleBase { +public class EMHModeleBase extends EMHContainer { /** * Id unique. @@ -16,11 +15,6 @@ protected String id_; /** - * Les donnees crueData du scenario . - */ - CrueData dataSources; - - /** * La liste des sous modeles associ�s au modele. ETU */ protected EMHModeleEnchainement listeSousModeles_; @@ -30,14 +24,6 @@ */ protected EMHInfosVersion infosVersions_; - /** - * Liste des fichiers rattach�s au modeles (respectivement sous) modele. Ces fichiers proviennent de la classe - * EMHProjetInfos qui contient la base desfichiers du projet. - * - * @param id - */ - protected List<FichierCrue> listeFichiersModele_; - public EMHModeleBase(final String id) { id_ = id; } @@ -83,19 +69,6 @@ } /** - * Ajoute un fichier . - * - * @param fichier - * @return - */ - public boolean addFichierDonneesToModele(final FichierCrue fichier) { - if (listeFichiersModele_ == null) { - listeFichiersModele_ = new ArrayList<FichierCrue>(); - } - return listeFichiersModele_.add(fichier); - } - - /** * Ajoute un sous modele . * * @param sousModele @@ -108,20 +81,4 @@ return listeSousModeles_.ajouteModele(sousModele); } - public List<FichierCrue> getListeFichiersCrue() { - return listeFichiersModele_; - } - - public void setListeFichiersCrue(final List<FichierCrue> listeFichiersCrue) { - this.listeFichiersModele_ = listeFichiersCrue; - } - - public CrueData getDataSources() { - return dataSources; - } - - public void setDataSources(CrueData dataSources) { - this.dataSources = dataSources; - } - } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleRun.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleRun.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleRun.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -3,19 +3,19 @@ import java.util.List; /** - * Contient un modele et sa liste de fichier de r\xE9sultats associ\xE9s Contenu dans Run. + * Contient un modele et sa liste de fichier de r�sultats associ�s Contenu dans Run. * * @author Adrien Hadoux */ public class EMHModeleRun { /** - * modele associ\xE9 au run et aux fichiers r\xE9sultats. + * modele associ� au run et aux fichiers r�sultats. */ private final EMHModeleBase modeleRun; /** - * Liste des fichiers de r\xE9sultats rattach\xE9s au modele du runrun . Ces fichiers sont uniquement des fichiers r\xE9sultat. + * Liste des fichiers de r�sultats rattach�s au modele du runrun . Ces fichiers sont uniquement des fichiers r�sultat. * * @param id_ */ @@ -31,7 +31,7 @@ return modeleRun; } - public List<FichierCrue> getListeFichiersResultatsAssocies_() { + public List<FichierCrue> getListeFichiers() { return listeFichiersResultatsAssocies_; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java 2009-06-03 17:48:49 UTC (rev 4838) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java 2009-06-03 22:59:45 UTC (rev 4839) @@ -3,12 +3,14 @@ import java.util.ArrayList; import java.util.List; +import org.apache.commons.collections.CollectionUtils; + /** * Entite organisant les calculs sur des modeles simples ou enchaines * * @author Adrien Hadoux */ -public class EMHScenario { +public class EMHScenario extends EMHContainer { private final String id_; /** @@ -17,11 +19,6 @@ private EMHModeleEnchainement gestionModele_; /** - * Les donnees crueData du scenario . - */ - private CrueData dataSources; - - /** * la liste des runs associes au sc�nraio. */ private List<EMHRun> listeRuns_; @@ -37,20 +34,6 @@ private EMHInfosVersion infosVersions_; /** - * Liste des fichiers rattach�s au scenario . Ces fichiers proviennent de la classe EMHProjetInfos qui contient la - * base des fichiers du projet. Ces fichiers sont uniquement des fichiers r�sultat ? - */ - private List<FichierCrue> listeFichiersScenario_; - - public List<FichierCrue> getListeFichiersScenario() { - return listeFichiersScenario_; - } - - public void setListeFichiersScenario(final List<FichierCrue> listeFichiersResultatsScenario) { - this.listeFichiersScenario_ = listeFichiersResultatsScenario; - } - - /** * Ajoute un Run . * * @param fichier @@ -64,6 +47,39 @@ } /** + * @return true si contient des données. + */ + public boolean isLoaded() { + return getDataSource() != null; + } + + public void clean() { + setDataSource(null); + if (getGe... [truncated message content] |
From: <de...@us...> - 2009-06-04 22:55:38
|
Revision: 4851 http://fudaa.svn.sourceforge.net/fudaa/?rev=4851&view=rev Author: deniger Date: 2009-06-04 22:55:35 +0000 (Thu, 04 Jun 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDLHY.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/STRFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPerm.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermBrancheOrificeManoeuvre.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermBrancheSaintVenantQruis.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermCasierProfilQruis.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermNoeudNiveauContinuQapp.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermNoeudNiveauContinuZimpose.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTrans.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransBrancheOrificeManoeuvre.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransBrancheSaintVenantQruis.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransCasierProfilQruis.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransItem.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuLimnigramme.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuQapp.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCLimMScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheBarrageFilEau.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheBarrageGenerique.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheNiveauxAssocies.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilLateral.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilTransversal.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/LoiDF.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/LoiFF.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeoCasier.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/LoiHelper.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/ValidateModeleScenario.java trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-common-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dclm-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dcsp-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dptg-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dpti-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-drso-1.0.0.xsd 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-pnum-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/MockCrueData.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDCLMFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDH.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDLHYFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOCALFile.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuTarage.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/DonCLimMCommon.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheQ.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuil.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Loi.java Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractCalc.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractCatEMHActivable.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCLimM.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCalcSansPrtBrancheQ.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCalcSansPrtBrancheSeuil.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractLoi.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuTarrage.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/PtZK.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/PtZY.java Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -48,7 +48,7 @@ import org.fudaa.dodico.crue.io.dao.CrueXmlReaderWriterImpl; import org.fudaa.dodico.crue.metier.CrueData; import org.fudaa.dodico.crue.metier.EMHproject; -import org.fudaa.dodico.crue.metier.emh.AbstractLoi; +import org.fudaa.dodico.crue.metier.emh.Loi; import org.fudaa.dodico.crue.metier.emh.DonCLimMScenario; import org.fudaa.dodico.crue.metier.emh.DonFrt; import org.fudaa.dodico.crue.metier.emh.EMH; @@ -74,8 +74,8 @@ new CrueXmlReaderWriterImpl<CrueDaoDFRT, List<DonFrt>>(CrueConstants.DFRT, new CrueConverterDFRT(), new CrueDaoStructureDFRT())); - private final static Crue10FileFormat<List<AbstractLoi>> DLHY = new Crue10FileFormat<List<AbstractLoi>>( - new CrueXmlReaderWriterImpl<CrueDaoDLHY, List<AbstractLoi>>(CrueConstants.DLHY, new CrueConverterDLHY(), + private final static Crue10FileFormat<List<Loi>> DLHY = new Crue10FileFormat<List<Loi>>( + new CrueXmlReaderWriterImpl<CrueDaoDLHY, List<Loi>>(CrueConstants.DLHY, new CrueConverterDLHY(), new CrueDaoStructureDLHY())); private final static Crue10FileFormat<CrueData> DPTG = new Crue10FileFormat<CrueData>( @@ -145,7 +145,7 @@ /** * @return DLHY : objet CrueFileFormat qui contient le DAO et le métier de DLHY */ - public static Crue10FileFormat<List<AbstractLoi>> getDLHYFileFormat() { + public static Crue10FileFormat<List<Loi>> getDLHYFileFormat() { return DLHY; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -2,7 +2,7 @@ import com.thoughtworks.xstream.XStream; -import org.fudaa.dodico.crue.metier.emh.AbstractLoi; +import org.fudaa.dodico.crue.metier.emh.Loi; import org.fudaa.dodico.crue.metier.emh.EvolutionFF; import org.fudaa.dodico.crue.metier.emh.PtEvolutionFF; import org.fudaa.dodico.crue.metier.helper.LoiHelper; @@ -47,7 +47,7 @@ * @param outLoi * @param inLoi */ - protected static void daoToMetierLoi(final AbstractLoi outLoi, final AbstractDaoLoi inLoi) { + protected static void daoToMetierLoi(final Loi outLoi, final AbstractDaoLoi inLoi) { outLoi.setNom(inLoi.Nom); outLoi.setDescription(inLoi.Description); // VariableOrdonnee varOrdonnee = new VariableOrdonnee(); @@ -65,7 +65,7 @@ * @param listePersistante * @param dataMetier */ - protected static void metierToDaoLoi(final AbstractDaoLoi outLoi, final AbstractLoi inLoi) { + protected static void metierToDaoLoi(final AbstractDaoLoi outLoi, final Loi inLoi) { outLoi.Nom = inLoi.getNom(); outLoi.Description = inLoi.getDescription(); outLoi.VarAbscisse = inLoi.getVarAbscisse(); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -289,7 +289,7 @@ final NoeudNiveauContinuTarragePersist eltPersist = (NoeudNiveauContinuTarragePersist) eltRefPersist; final CatEMHNoeud noeudMetier = getEMHNoeudFromReferenceDRSO(eltPersist.NomRef, dataLinked, analyzer); if (noeudMetier != null) { - final CalcTransNoeudNiveauContinuTarrage eltMetier = new CalcTransNoeudNiveauContinuTarrage(); + final CalcTransNoeudNiveauContinuTarage eltMetier = new CalcTransNoeudNiveauContinuTarage(); eltMetier.setNomCalculParent(calculTransMetier.getNom()); noeudMetier.addDCLM(eltMetier); eltMetier.setEMH(noeudMetier); @@ -390,10 +390,10 @@ * @param analyzer * @return */ - private static AbstractLoi getLoiFromReferenceDLHY(final String nomRef, final CrueData dataLinked, + private static Loi getLoiFromReferenceDLHY(final String nomRef, final CrueData dataLinked, final CtuluAnalyze analyzer) { - final AbstractLoi loi = LoiHelper.findByReference(nomRef, dataLinked.getLois()); + final Loi loi = LoiHelper.findByReference(nomRef, dataLinked.getLois()); if (loi == null) { analyzer.addInfo("io.dclm.ref.loi.error", nomRef); } @@ -740,7 +740,7 @@ dao.NomRef = in.getEMH().getNom(); calculPersist.listeElementsCalculTransitoire.add(dao); } - for (CalcTransNoeudNiveauContinuTarrage in : calculMetier.getCalcTransNoeudNiveauContinuTarrage()) { + for (CalcTransNoeudNiveauContinuTarage in : calculMetier.getCalcTransNoeudNiveauContinuTarrage()) { NoeudNiveauContinuTarragePersist dao = new NoeudNiveauContinuTarragePersist(); dao.Tarrage = new TarragePersist(); dao.Tarrage.NomRef = in.getLoi().getNom(); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDLHY.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDLHY.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDLHY.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -11,7 +11,7 @@ import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDLHY.DaoLoiDF; import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDLHY.DaoLoiFF; import org.fudaa.dodico.crue.metier.CrueData; -import org.fudaa.dodico.crue.metier.emh.AbstractLoi; +import org.fudaa.dodico.crue.metier.emh.Loi; import org.fudaa.dodico.crue.metier.emh.LoiDF; import org.fudaa.dodico.crue.metier.emh.LoiFF; @@ -20,13 +20,13 @@ * * @author Adrien Hadoux, Carole Delhaye */ -public class CrueConverterDLHY implements CrueConverter<CrueDaoDLHY, List<AbstractLoi>> { +public class CrueConverterDLHY implements CrueConverter<CrueDaoDLHY, List<Loi>> { private interface ConvertLoi { - AbstractDaoLoi metiertoDao(AbstractLoi in); + AbstractDaoLoi metiertoDao(Loi in); - AbstractLoi daoToMetier(AbstractDaoLoi in); + Loi daoToMetier(AbstractDaoLoi in); } /** @@ -34,7 +34,7 @@ */ public final class ConvertLoiDF implements ConvertLoi { - public AbstractDaoLoi metiertoDao(final AbstractLoi in) { + public AbstractDaoLoi metiertoDao(final Loi in) { final LoiDF inLoi = (LoiDF) in; final DaoLoiDF out = new DaoLoiDF(); AbstractDaoLoi.metierToDaoLoi(out, inLoi); @@ -42,7 +42,7 @@ return out; } - public AbstractLoi daoToMetier(final AbstractDaoLoi in) { + public Loi daoToMetier(final AbstractDaoLoi in) { final DaoLoiDF loiDFAbstractPersist = (DaoLoiDF) in; final LoiDF outLoi = new LoiDF(); AbstractDaoLoi.daoToMetierLoi(outLoi, loiDFAbstractPersist); @@ -57,13 +57,13 @@ */ public final class ConvertLoiFF implements ConvertLoi { - public AbstractDaoLoi metiertoDao(final AbstractLoi in) { + public AbstractDaoLoi metiertoDao(final Loi in) { final DaoLoiFF outLoi = new DaoLoiFF(); AbstractDaoLoi.metierToDaoLoi(outLoi, in); return outLoi; } - public AbstractLoi daoToMetier(final AbstractDaoLoi in) { + public Loi daoToMetier(final AbstractDaoLoi in) { final LoiFF loiFF = new LoiFF(); AbstractDaoLoi.daoToMetierLoi(loiFF, in); return loiFF; @@ -74,11 +74,11 @@ /** * Convertit les objets persistants en objets métier */ - public List<AbstractLoi> convertDaoToMetier(final CrueDaoDLHY dao, final CrueData dataLinked, + public List<Loi> convertDaoToMetier(final CrueDaoDLHY dao, final CrueData dataLinked, final CtuluAnalyze analyser) { final List<AbstractDaoLoi> inLois = dao.Lois; - List<AbstractLoi> outLoi = Collections.emptyList(); + List<Loi> outLoi = Collections.emptyList(); final Map<Class, ConvertLoi> corr = new HashMap<Class, ConvertLoi>(); corr.put(DaoLoiDF.class, new ConvertLoiDF()); corr.put(DaoLoiFF.class, new ConvertLoiFF()); @@ -86,7 +86,7 @@ if (CollectionUtils.isEmpty(inLois)) { CrueHelper.emhEmpty("Lois", analyser); } else { - outLoi = new ArrayList<AbstractLoi>(inLois.size()); + outLoi = new ArrayList<Loi>(inLois.size()); for (final AbstractDaoLoi in : inLois) { final ConvertLoi cs = corr.get(in.getClass()); outLoi.add(cs.daoToMetier(in)); @@ -98,7 +98,7 @@ /** * Convertit les objets métier en objets persistants */ - public CrueDaoDLHY convertMetierToDao(final List<AbstractLoi> metier, final CtuluAnalyze analyser) { + public CrueDaoDLHY convertMetierToDao(final List<Loi> metier, final CtuluAnalyze analyser) { final CrueDaoDLHY res = new CrueDaoDLHY(); @@ -107,7 +107,7 @@ corr.put(LoiDF.class, new ConvertLoiDF()); corr.put(LoiFF.class, new ConvertLoiFF()); - for (final AbstractLoi loi : metier) { + for (final Loi loi : metier) { final ConvertLoi cs = corr.get(loi.getClass()); res.Lois.add(cs.metiertoDao(loi)); } 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-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -902,7 +902,7 @@ // La loi pour Limnigramme et Zimpose est la même typesConditionLimites.put(1, CalcTransNoeudNiveauContinuLimnigramme.class); typesConditionLimites.put(2, CalcTransNoeudNiveauContinuQapp.class); - typesConditionLimites.put(3, CalcTransNoeudNiveauContinuTarrage.class); + typesConditionLimites.put(3, CalcTransNoeudNiveauContinuTarage.class); // loi 10 = manoeuvre pour branche de type 10 : non supporté (hors périmètre) typesConditionLimites.put(10, "Station de pompage"); typesConditionLimites.put(20, "débit au barrage"); @@ -992,14 +992,14 @@ metier.setEMH(noeud); calcTrans.addCalcTransNoeudNiveauContinuLimnigramme(metier); - } else if (classe == CalcTransNoeudNiveauContinuTarrage.class) { + } else if (classe == CalcTransNoeudNiveauContinuTarage.class) { final CatEMHNoeud noeud = res.findNoeudByReference(nomEmh); if (noeud == null) { analyze_.addError("io.dh.ref.emhnoeud.tarrage.error", nomEmh); return; } - final CalcTransNoeudNiveauContinuTarrage metier = new CalcTransNoeudNiveauContinuTarrage(); + final CalcTransNoeudNiveauContinuTarage metier = new CalcTransNoeudNiveauContinuTarage(); metier.setNomCalculParent(calcTrans.getNom()); noeud.addDCLM(metier); metier.setEMH(noeud); @@ -1255,9 +1255,9 @@ } // Création des branches SaintVenantQruis correspondant aux branchex saint venant de DRSO - List<AbstractLoi> dlhy = res.getLois(); + List<Loi> dlhy = res.getLois(); if (dlhy == null) { - dlhy = new ArrayList<AbstractLoi>(); + dlhy = new ArrayList<Loi>(); res.setLois(dlhy); } @@ -1274,7 +1274,7 @@ brancheSV.setEMH(emh); final String nomLoi = "HydrogrammeRuis" + nomEmh; - final AbstractLoi loi = LoiHelper.findByReference(nomLoi, dlhy); + final Loi loi = LoiHelper.findByReference(nomLoi, dlhy); LoiDF loiDF = null; // Si la loi existe dans CrueData, c'est qu'elle existe aussi dans les conditions initiales ; On met à @@ -1324,9 +1324,9 @@ return; } - List<AbstractLoi> dlhy = res.getLois(); + List<Loi> dlhy = res.getLois(); if (dlhy == null) { - dlhy = new ArrayList<AbstractLoi>(); + dlhy = new ArrayList<Loi>(); res.setLois(dlhy); } @@ -1343,7 +1343,7 @@ final DonCLimM donneeTrans = listeDCLMs.get(i); if (donneeTrans instanceof CalcTransNoeudNiveauContinuQapp || donneeTrans instanceof CalcTransNoeudNiveauContinuLimnigramme - || donneeTrans instanceof CalcTransNoeudNiveauContinuTarrage) { + || donneeTrans instanceof CalcTransNoeudNiveauContinuTarage) { final CalcTransItem nncTrans = (CalcTransItem) donneeTrans; // pour s'assuer de la correspondance @@ -1354,7 +1354,7 @@ if (nncTrans instanceof CalcTransNoeudNiveauContinuQapp) { nomLoi = "Hydrogramme" + nomEmh; - final AbstractLoi loi = LoiHelper.findByReference(nomLoi, dlhy); + final Loi loi = LoiHelper.findByReference(nomLoi, dlhy); LoiDF loiDF = null; // Si la loi existe dans CrueData, c'est qu'elle existe aussi dans les conditions initiales ; On met à @@ -1391,7 +1391,7 @@ } else if (nncTrans instanceof CalcTransNoeudNiveauContinuLimnigramme) { nomLoi = "Limnigramme" + nomEmh; - final AbstractLoi loi = LoiHelper.findByReference(nomLoi, dlhy); + final Loi loi = LoiHelper.findByReference(nomLoi, dlhy); LoiDF loiDF = null; // Si la loi existe dans CrueData, c'est qu'elle existe aussi dans les conditions initiales ; On met à @@ -1419,17 +1419,17 @@ } loiDF.setEvolutionFF(evolutionFF); - } else if (nncTrans instanceof CalcTransNoeudNiveauContinuTarrage) { + } else if (nncTrans instanceof CalcTransNoeudNiveauContinuTarage) { nomLoi = "Tarrage" + nomEmh; - final AbstractLoi loi = LoiHelper.findByReference(nomLoi, dlhy); + final Loi loi = LoiHelper.findByReference(nomLoi, dlhy); LoiFF loiFF = null; // Si la loi existe dans CrueData, c'est qu'elle existe aussi dans les conditions initiales ; On met à // jour que la liste des points if (loi instanceof LoiFF) { loiFF = (LoiFF) loi; - calcTrans.addCalcTransNoeudNiveauContinuTarrage((CalcTransNoeudNiveauContinuTarrage) nncTrans); + calcTrans.addCalcTransNoeudNiveauContinuTarrage((CalcTransNoeudNiveauContinuTarage) nncTrans); } else { loiFF = new LoiFF(); loiFF.setNom(nomLoi); @@ -1439,7 +1439,7 @@ loiFF.setExtrapolInf(LoiHelper.EXTRAPOL_CST); loiFF.setExtrapolSup(LoiHelper.EXTRAPOL_CST); - final CalcTransNoeudNiveauContinuTarrage nncTarrage = (CalcTransNoeudNiveauContinuTarrage) nncTrans; + final CalcTransNoeudNiveauContinuTarage nncTarrage = (CalcTransNoeudNiveauContinuTarage) nncTrans; nncTarrage.setTarrage(loiFF); // Ajout de la loi dans DLHY @@ -1470,7 +1470,7 @@ && brancheOrManoeuvre.getNomCalculParent().equals(calcTrans.getNom())) { nomLoi = "Manoeuvre" + nomEmh; - final AbstractLoi loi = LoiHelper.findByReference(nomLoi, dlhy); + final Loi loi = LoiHelper.findByReference(nomLoi, dlhy); LoiDF loiDF = null; // Si la loi existe dans CrueData, c'est qu'elle existe aussi dans les conditions initiales ; On met à 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-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHWriter.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -968,11 +968,11 @@ final TObjectIntHashMap typesCL = new TObjectIntHashMap(); typesCL.put(CalcTransNoeudNiveauContinuLimnigramme.class, 1); typesCL.put(CalcTransNoeudNiveauContinuQapp.class, 2); - typesCL.put(CalcTransNoeudNiveauContinuTarrage.class, 3); + typesCL.put(CalcTransNoeudNiveauContinuTarage.class, 3); typesCL.put(CalcTransBrancheOrificeManoeuvre.class, 41); // Stocke les lois des Conditions aux limites pour écrire ensuite les lignes E - final List<AbstractLoi> lignesE = new ArrayList<AbstractLoi>(); + final List<Loi> lignesE = new ArrayList<Loi>(); afficheLignesBTransEtRecupereDonneesLignesETrans(calcTrans, typesCL, lignesE); // Ecriture Ligne C @@ -1065,7 +1065,7 @@ * @throws IOException */ private void afficheLignesBTransEtRecupereDonneesLignesETrans(final CalcTrans calcTrans, - final TObjectIntHashMap typesCL, final List<AbstractLoi> lignesE) throws IOException { + final TObjectIntHashMap typesCL, final List<Loi> lignesE) throws IOException { // final List<EMH> emhs = calcTrans.getListeRefs(); // final List<DonCLimMNoeudNiveauContinu> listeNNCs = calcTrans.gegetListeDonCLimMNoeudNiveauContinu(); @@ -1087,7 +1087,7 @@ } - for (final CalcTransNoeudNiveauContinuTarrage lim : calcTrans.getCalcTransNoeudNiveauContinuTarrage()) { + for (final CalcTransNoeudNiveauContinuTarage lim : calcTrans.getCalcTransNoeudNiveauContinuTarrage()) { manageTranItem(lim, typesCL, lignesE); } @@ -1144,7 +1144,7 @@ } - private void manageTranItem(final CalcTransItem lim, final TObjectIntHashMap typesCL, final List<AbstractLoi> lignesE) + private void manageTranItem(final CalcTransItem lim, final TObjectIntHashMap typesCL, final List<Loi> lignesE) throws IOException { fortranWriter_.stringField(0, lim.getEMH().getNom()); int typeCL = typesCL.get(lim.getClass()); @@ -1179,7 +1179,7 @@ * @param loi * @throws IOException */ - private void ecritLoi(final AbstractLoi loi) throws IOException { + private void ecritLoi(final Loi loi) throws IOException { if (loi instanceof LoiDF) { 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 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRFactory.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -7,24 +7,17 @@ import java.util.ArrayList; import java.util.List; +import com.memoire.fu.FuLog; + import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.dodico.crue.io.neuf.STRSequentialReader.DonneesSectionOuProfil; import org.fudaa.dodico.crue.io.neuf.STRSequentialReader.DonneesSectionPourBranche; import org.fudaa.dodico.crue.io.neuf.STRSequentialReader.DonneesStricklerPourLitSection; import org.fudaa.dodico.crue.io.neuf.STRSequentialReader.SectionPourAutreBranche; import org.fudaa.dodico.crue.metier.CrueData; -import org.fudaa.dodico.crue.metier.emh.DonFrt; -import org.fudaa.dodico.crue.metier.emh.DonFrtStrickler; -import org.fudaa.dodico.crue.metier.emh.EvolutionFF; -import org.fudaa.dodico.crue.metier.emh.LoiFF; -import org.fudaa.dodico.crue.metier.emh.PtEvolutionFF; -import org.fudaa.dodico.crue.metier.emh.ResPrtGeo; -import org.fudaa.dodico.crue.metier.emh.ResPrtGeoCasier; -import org.fudaa.dodico.crue.metier.emh.ResPrtGeoSection; +import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.metier.helper.LoiHelper; -import com.memoire.fu.FuLog; - /** * @author cde */ @@ -178,31 +171,31 @@ // Alimentation loi LaDeZ LoiFF loiFF = getLoiFFDeZRPTG(abscissesZ, sectionAutreBranche.getListeLargLitActif(), "LaDeZ", "La"); if (loiFF != null) { - rptg.setMLaDeZ(loiFF); + rptg.setZLact(loiFF); } // Alimentation loi DaDeZ loiFF = getLoiFFDeZRPTG(abscissesZ, sectionAutreBranche.getListeDebLitActif(), "DaDeZ", "Da"); if (loiFF != null) { - rptg.setMDaDeZ(loiFF); + rptg.setZDact(loiFF); } // Alimentation loi SaDeZ loiFF = getLoiFFDeZRPTG(abscissesZ, sectionAutreBranche.getListeSLitActif(), "SaDeZ", "Sa"); if (loiFF != null) { - rptg.setMSaDeZ(loiFF); + rptg.setZSact(loiFF); } // Alimentation loi BetaDeZ loiFF = getLoiFFDeZRPTG(abscissesZ, sectionAutreBranche.getListeBeta(), "BetaDeZ", "Beta"); if (loiFF != null) { - rptg.setMBetaDeZ(loiFF); + rptg.setZBeta(loiFF); } // Alimentation loi LsDeZ loiFF = getLoiFFDeZRPTG(abscissesZ, sectionAutreBranche.getListeLargSto(), "LsDeZ", "Ls"); if (loiFF != null) { - rptg.setMLsDeZ(loiFF); + rptg.setZLsto(loiFF); } // Calcul des abscisses de lit @@ -215,35 +208,19 @@ } // Alimentation loi PsupDeLit - loiFF = getLoiFFDeLitRPTG(abscissesDeLit, sectionAutreBranche.getListePerHaut(), "PsupDeLit", "Psup"); - if (loiFF != null) { - rptg.setMPsupDeLit(loiFF); - } - + rptg.setLitPsup(getLoiFFDeLitRPTG(abscissesDeLit, sectionAutreBranche.getListePerHaut(), "PsupDeLit", "Psup")); // Alimentation loi LsupDeLit - loiFF = getLoiFFDeLitRPTG(abscissesDeLit, sectionAutreBranche.getListeLargHaut(), "LsupDeLit", "Lsup"); - if (loiFF != null) { - rptg.setMLsupDeLit(loiFF); - } - + rptg.setLitLsup(getLoiFFDeLitRPTG(abscissesDeLit, sectionAutreBranche.getListeLargHaut(), "LsupDeLit", + "Lsup")); // Alimentation loi KsupDeLit - loiFF = getLoiFFDeLitRPTG(abscissesDeLit, sectionAutreBranche.getListeStriHaut(), "KsupDeLit", "Ksup"); - if (loiFF != null) { - rptg.setMKsupDeLit(loiFF); - } - + rptg.setLitKsup(getLoiFFDeLitRPTG(abscissesDeLit, sectionAutreBranche.getListeStriHaut(), "KsupDeLit", + "Ksup")); // Alimentation loi LinfDeLit - loiFF = getLoiFFDeLitRPTG(donneesSection.getZFondsLits(), sectionAutreBranche.getListeLargFond(), "LinfDeLit", - "Linf"); - if (loiFF != null) { - rptg.setMLinfDeLit(loiFF); - } - + rptg.setLLitLinf(getLoiFFDeLitRPTG(donneesSection.getZFondsLits(), sectionAutreBranche.getListeLargFond(), + "LinfDeLit", "Linf")); // Alimentation loi SsupDeLit - loiFF = getLoiFFDeLitRPTG(abscissesDeLit, sectionAutreBranche.getListeSurfHaut(), "SsupDeLit", "Ssup"); - if (loiFF != null) { - rptg.setMSsupDeLit(loiFF); - } + rptg.setLitSsup(getLoiFFDeLitRPTG(abscissesDeLit, sectionAutreBranche.getListeSurfHaut(), "SsupDeLit", + "Ssup")); } } @@ -262,10 +239,10 @@ // TODO CDE : A quoi correspond le nom de chacune des lois de ResPrtGeoCasier ?? Et quelles sont les données // lues à mettre dedans ? final LoiFF volDeZ = new LoiFF(); - rptgCasier.setMVolDeZ(volDeZ); + rptgCasier.setZVol(volDeZ); final LoiFF splanDeZ = new LoiFF(); - rptgCasier.setMSplanDeZ(splanDeZ); + rptgCasier.setZSplan(splanDeZ); } else {} } } @@ -294,10 +271,10 @@ * @param nomOrd Nom à donner à la variable Ordonnée * @return LoiFF ou null si la loi n'a pas eu être créée */ - private static LoiFF getLoiFFDeLitRPTG(final float[] abscissesLits, final float[] ordonnees, final String nomLoi, + private static float[] getLoiFFDeLitRPTG(final float[] abscissesLits, final float[] ordonnees, final String nomLoi, final String nomOrd) { - - return getLoiFFRPTG(abscissesLits, ordonnees, nomLoi, nomOrd, "Lit"); + return ordonnees; + // return getLoiFFRPTG(abscissesLits, ordonnees, nomLoi, nomOrd, "Lit"); } /** Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -7,21 +7,7 @@ import java.util.List; import org.fudaa.dodico.crue.io.neuf.STOSequentialReader; -import org.fudaa.dodico.crue.metier.emh.AbstractLoi; -import org.fudaa.dodico.crue.metier.emh.CatEMHBranche; -import org.fudaa.dodico.crue.metier.emh.CatEMHCasier; -import org.fudaa.dodico.crue.metier.emh.CatEMHNoeud; -import org.fudaa.dodico.crue.metier.emh.CatEMHSection; -import org.fudaa.dodico.crue.metier.emh.DonCLimMScenario; -import org.fudaa.dodico.crue.metier.emh.DonFrt; -import org.fudaa.dodico.crue.metier.emh.EMH; -import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario; -import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase; -import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; -import org.fudaa.dodico.crue.metier.emh.OrdResScenario; -import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario; -import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase; -import org.fudaa.dodico.crue.metier.emh.ResPrtGeo; +import org.fudaa.dodico.crue.metier.emh.*; /** * @author deniger @@ -50,8 +36,7 @@ /** * Methode a appeler pour harmoniser les noms avec les conventions et préfixes. */ - void prefixerNoms(); - + // void prefixerNoms(); List<CatEMHNoeud> getNoeuds(); void setNoeuds(final List<CatEMHNoeud> noeuds); @@ -83,12 +68,12 @@ /** * @return the lois */ - List<AbstractLoi> getLois(); + List<Loi> getLois(); /** * @param lois the lois to set */ - void setLois(final List<AbstractLoi> lois); + void setLois(final List<Loi> lois); ParamCalcScenario getParamCalc(); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -71,7 +71,7 @@ /** * Liste de lois. Pour le moment ne contient que des lois définies dans DLHY. */ - List<AbstractLoi> lois; + List<Loi> lois; List<CatEMHNoeud> noeuds; @@ -225,7 +225,7 @@ /** * @return the lois */ - public List<AbstractLoi> getLois() { + public List<Loi> getLois() { return lois; } @@ -337,38 +337,38 @@ return true; } - /** - * Methode a appeler pour harmoniser les noms avec les conventions et préfixes. - */ - public void prefixerNoms() { + // /** + // * Methode a appeler pour harmoniser les noms avec les conventions et préfixes. + // */ + // public void prefixerNoms() { + // + // final String prefixe_Noeud = "N"; + // final String prefixe_Casier = "C"; + // final String prefixe_Section = "S"; + // final String prefixe_Branche = "B"; + // + // for (final EMH emh : noeuds) { + // if (!emh.getNom().startsWith(prefixe_Noeud)) { + // emh.setNom(prefixe_Noeud + emh.getNom()); + // } + // } + // for (final EMH emh : branches) { + // if (!emh.getNom().startsWith(prefixe_Branche)) { + // emh.setNom(prefixe_Branche + emh.getNom()); + // } + // } + // for (final EMH emh : sections) { + // if (!emh.getNom().startsWith(prefixe_Section)) { + // emh.setNom(prefixe_Section + emh.getNom()); + // } + // } + // for (final EMH emh : casiers) { + // if (!emh.getNom().startsWith(prefixe_Casier)) { + // emh.setNom(prefixe_Casier + emh.getNom()); + // } + // } + // } - final String prefixe_Noeud = "N"; - final String prefixe_Casier = "C"; - final String prefixe_Section = "S"; - final String prefixe_Branche = "B"; - - for (final EMH emh : noeuds) { - if (!emh.getNom().startsWith(prefixe_Noeud)) { - emh.setNom(prefixe_Noeud + emh.getNom()); - } - } - for (final EMH emh : branches) { - if (!emh.getNom().startsWith(prefixe_Branche)) { - emh.setNom(prefixe_Branche + emh.getNom()); - } - } - for (final EMH emh : sections) { - if (!emh.getNom().startsWith(prefixe_Section)) { - emh.setNom(prefixe_Section + emh.getNom()); - } - } - for (final EMH emh : casiers) { - if (!emh.getNom().startsWith(prefixe_Casier)) { - emh.setNom(prefixe_Casier + emh.getNom()); - } - } - } - public void setBranches(final List<CatEMHBranche> branches) { this.branches = branches; } @@ -391,7 +391,7 @@ /** * @param lois the lois to set */ - public void setLois(final List<AbstractLoi> lois) { + public void setLois(final List<Loi> lois) { this.lois = lois; } Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractCalc.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractCalc.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractCalc.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -1,46 +0,0 @@ -/*********************************************************************** - * Module: AbstractCalc.java - * Author: deniger - * Purpose: Defines the Class AbstractCalc - ***********************************************************************/ - -package org.fudaa.dodico.crue.metier.emh; - -/** - * Classe abstrait pour les options de calcul - * - * @pdOid 6b3bca94-a399-45af-8b77-e34af6da4e8f - */ -public abstract class AbstractCalc { - /** @pdOid 3b9131ef-d90d-46f5-b311-7bad7fa7b305 */ - private String nom; - /** @pdOid c96d0317-f9db-49bc-9f38-757e5a6b58c8 */ - private String description; - - /** - * @param newDescription - * @pdOid 503d9275-439a-480c-8b09-6820340661d7 - */ - public void setDescription(String newDescription) { - description = newDescription; - } - - /** @pdOid 5199f4f7-d812-4d07-a25d-02c75bbbad40 */ - public String getDescription() { - return description; - } - - /** - * @param newNom - * @pdOid 8c14d9ec-55e6-4022-aa1c-6db8de2aaac5 - */ - public void setNom(String newNom) { - nom = newNom; - } - - /** @pdOid 01f8eed2-5b9c-4f81-b361-082183c5d5e0 */ - public String getNom() { - return nom; - } - -} \ No newline at end of file Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractCatEMHActivable.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractCatEMHActivable.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractCatEMHActivable.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -1,32 +0,0 @@ -/*********************************************************************** - * Module: AbstractCatEMHActivable.java - * Author: deniger - * Purpose: Defines the Class AbstractCatEMHActivable - ***********************************************************************/ - -package org.fudaa.dodico.crue.metier.emh; - - -/** - * Pour généraliser les EMH activables. - * - * @pdOid b415b60b-df3b-40c0-ae8e-87c78a02a564 - */ -public abstract class AbstractCatEMHActivable extends EMH { - /** @pdOid b63b4510-1dae-4615-a616-61f8911b6b7e */ - private boolean isActive; - - /** @pdOid adf7fd8e-2133-4f9f-a463-e263df0c7557 */ - public boolean getIsActive() { - return isActive; - } - - /** - * @param newIsActive - * @pdOid 9c6ae571-14f8-4227-b75a-e320a4e581d9 - */ - public void setIsActive(boolean newIsActive) { - isActive = newIsActive; - } - -} \ No newline at end of file Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCLimM.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCLimM.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCLimM.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -1,44 +0,0 @@ -package org.fudaa.dodico.crue.metier.emh; - -/** @pdOid 2e7254b2-8941-4db1-af24-089be44ba8ed */ -public abstract class AbstractDonCLimM implements DonCLimM { - /** - * Le nom du calcul parent - * - * @pdOid 4333c374-bb39-4d43-9010-461b46d3bf4a - */ - private String nomCalculParent; - /** - * Le nom de l'EMH attenante - * - * @pdOid 423020e1-2d44-4060-9041-eff57a0a2163 - */ - private EMH nomEMH; - - /** @pdOid 3d14d4ea-e045-4621-84b6-c00bbe1d3f77 */ - public String getNomCalculParent() { - return nomCalculParent; - } - - /** - * @param newNomCalculParent - * @pdOid 22a2a71c-0056-4b2d-ac6e-7e836223563c - */ - public void setNomCalculParent(String newNomCalculParent) { - nomCalculParent = newNomCalculParent; - } - - /** @pdOid 180bce26-7ca3-4e49-9e0d-f0eefc66e78e */ - public EMH getEMH() { - return nomEMH; - } - - /** - * @param newNomEMH - * @pdOid 36a8b7b1-7694-4378-8d0d-d2d82033e0c3 - */ - public void setEMH(EMH newNomEMH) { - nomEMH = newNomEMH; - } - -} \ No newline at end of file Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCalcSansPrtBrancheQ.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCalcSansPrtBrancheQ.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCalcSansPrtBrancheQ.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -1,43 +0,0 @@ -/*********************************************************************** - * Module: AbstractDonCalcSansPrtBrancheQ.java - * Author: deniger - * Purpose: Defines the Class AbstractDonCalcSansPrtBrancheQ - ***********************************************************************/ - -package org.fudaa.dodico.crue.metier.emh; - - -/** @pdOid faa1c551-ba9a-4b59-a1cd-c60ff0b6cf20 */ -public abstract class AbstractDonCalcSansPrtBrancheQ extends DonCalcSansPrt { - /** @pdOid 716a7eb5-fa0e-482e-b2a3-c2b23e4e3791 */ - private double qLimInf; - /** @pdOid 8641248c-c766-4a8e-9ba3-6ca49c122aa0 */ - private double qLimSup; - - /** @pdOid a054ac71-c666-4661-ac72-8f8b0a3f1401 */ - public final double getQLimInf() { - return qLimInf; - } - - /** - * @param newQLimInf - * @pdOid 9f293b0d-6b0e-401f-9c5f-3cbb5698935d - */ - public final void setQLimInf(double newQLimInf) { - qLimInf = newQLimInf; - } - - /** @pdOid 3ad5b699-7414-43ea-bf6e-ccb079b383b9 */ - public final double getQLimSup() { - return qLimSup; - } - - /** - * @param newQLimSup - * @pdOid 0c9fe70f-4278-4c9d-ac29-4b592ef3d642 - */ - public final void setQLimSup(double newQLimSup) { - qLimSup = newQLimSup; - } - -} \ No newline at end of file Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCalcSansPrtBrancheSeuil.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCalcSansPrtBrancheSeuil.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractDonCalcSansPrtBrancheSeuil.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -1,29 +0,0 @@ -/*********************************************************************** - * Module: AbstractDonCalcSansPrtBrancheSeuil.java - * Author: deniger - * Purpose: Defines the Class AbstractDonCalcSansPrtBrancheSeuil - ***********************************************************************/ - -package org.fudaa.dodico.crue.metier.emh; - -import java.util.*; - -/** @pdOid f62b4c52-234c-4bea-8859-0db6a35fac05 */ -public abstract class AbstractDonCalcSansPrtBrancheSeuil extends DonCalcSansPrt { - /** enum parmi (Borda, Divergent) - * - * @pdOid 2bde9fc9-d409-4e21-ad21-552f4bf74bd6 */ - private EnumFormulePdc formulePdc; - - /** @pdOid e209fa6a-8465-4747-9f36-4a3675ade330 */ - public final EnumFormulePdc getFormulePdc() { - return formulePdc; - } - - /** @param newFormulePdc - * @pdOid 3a47856f-f212-41da-8bcb-f19fbe0dd0f0 */ - public final void setFormulePdc(EnumFormulePdc newFormulePdc) { - formulePdc = newFormulePdc; - } - -} \ No newline at end of file Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractLoi.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractLoi.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractLoi.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -1,126 +0,0 @@ -/*********************************************************************** - * Module: AbstractLoi.java - * Author: deniger - * Purpose: Defines the Class AbstractLoi - ***********************************************************************/ - -package org.fudaa.dodico.crue.metier.emh; - -/** - * Loi abstraite pour LoiDF et LoiFF - * - * @pdOid 18b21fd9-4872-47c7-91fe-7a88a1518e32 - */ -public abstract class AbstractLoi { - /** @pdOid b0f23fb3-fc63-4722-8913-6c935b97733c */ - private String nom; - /** @pdOid 7db4b936-5375-418f-92a5-b14ce48f3d75 */ - private String description; - /** @pdOid 8bff8b79-2087-4cb2-92f2-79dc364082ad */ - // TODO a changer - private String extrapolInf; - /** @pdOid 31ee9519-a7dd-4a7c-8d9a-9e6190d6c422 */ - // TODO a changer - private String extrapolSup; - /** @pdOid ba32a351-470d-47b4-b627-1f2ce4d7bdac */ - // TODO a changer - private String varAbscisse; - /** @pdOid 7c4eef0c-e6af-4bcc-88f5-65f317e6ec67 */ - // TODO a changer - private String varOrdonnee; - - /** @pdRoleInfo migr=no name=EvolutionFF assc=association32 mult=1..1 type=Composition */ - private EvolutionFF evolutionFF; - - /** @pdGenerated default parent getter */ - public EvolutionFF getEvolutionFF() { - return evolutionFF; - } - - /** - * @pdGenerated default parent setter - * @param newEvolutionFF - */ - public void setEvolutionFF(EvolutionFF newEvolutionFF) { - this.evolutionFF = newEvolutionFF; - } - - /** @pdOid d81ade79-1a07-46c6-8585-e15016e8e174 */ - public String getNom() { - return nom; - } - - /** - * @param newNom - * @pdOid 6949202b-cb83-4516-a7eb-2ec010a88633 - */ - public void setNom(String newNom) { - nom = newNom; - } - - /** @pdOid 9728d304-70ef-4883-ad9e-62d31ac0b225 */ - public String getDescription() { - return description; - } - - /** - * @param newDescription - * @pdOid 3dafaa65-0cf2-4594-ba97-7bb849cc6aa8 - */ - public void setDescription(String newDescription) { - description = newDescription; - } - - /** @pdOid 3abf0e9d-a717-4b6f-853b-3f6f838e886f */ - public String getExtrapolInf() { - return extrapolInf; - } - - /** - * @param newExtrapolInf - * @pdOid 3b1092f2-805f-48cf-bd36-ed33abe74552 - */ - public void setExtrapolInf(String newExtrapolInf) { - extrapolInf = newExtrapolInf; - } - - /** @pdOid 45d6609e-6ac6-4099-9eb8-694813184ee6 */ - public String getExtrapolSup() { - return extrapolSup; - } - - /** - * @param newExtrapolSup - * @pdOid d676dd4f-bfe3-4ca8-9382-35ca6febb48f - */ - public void setExtrapolSup(String newExtrapolSup) { - extrapolSup = newExtrapolSup; - } - - /** @pdOid d5e0e161-d9e7-40ab-b9a0-ec86acb780fe */ - public String getVarAbscisse() { - return varAbscisse; - } - - /** - * @param newVarAbscisse - * @pdOid b73147cf-32af-4811-9e9d-4b61a0f4aa1e - */ - public void setVarAbscisse(String newVarAbscisse) { - varAbscisse = newVarAbscisse; - } - - /** @pdOid fa22c2ac-100c-4a15-ba8a-d301a94fcead */ - public String getVarOrdonnee() { - return varOrdonnee; - } - - /** - * @param newVarOrdonnee - * @pdOid 670265f4-6ef0-493c-b05f-6af6acb34420 - */ - public void setVarOrdonnee(String newVarOrdonnee) { - varOrdonnee = newVarOrdonnee; - } - -} \ No newline at end of file Copied: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java (from rev 4850, trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/AbstractCalc.java) =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -0,0 +1,46 @@ +/*********************************************************************** + * Module: AbstractCalc.java + * Author: deniger + * Purpose: Defines the Class AbstractCalc + ***********************************************************************/ + +package org.fudaa.dodico.crue.metier.emh; + +/** + * Classe abstrait pour les options de calcul + * + * @pdOid 6b3bca94-a399-45af-8b77-e34af6da4e8f + */ +public abstract class Calc { + /** @pdOid 3b9131ef-d90d-46f5-b311-7bad7fa7b305 */ + private String nom; + /** @pdOid c96d0317-f9db-49bc-9f38-757e5a6b58c8 */ + private String description; + + /** + * @param newDescription + * @pdOid 503d9275-439a-480c-8b09-6820340661d7 + */ + public void setDescription(String newDescription) { + description = newDescription; + } + + /** @pdOid 5199f4f7-d812-4d07-a25d-02c75bbbad40 */ + public String getDescription() { + return description; + } + + /** + * @param newNom + * @pdOid 8c14d9ec-55e6-4022-aa1c-6db8de2aaac5 + */ + public void setNom(String newNom) { + nom = newNom; + } + + /** @pdOid 01f8eed2-5b9c-4f81-b361-082183c5d5e0 */ + public String getNom() { + return nom; + } + +} \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPerm.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPerm.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPerm.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -7,7 +7,7 @@ package org.fudaa.dodico.crue.metier.emh; /** @pdOid 088c2b89-2fa1-4232-86f1-22b814ef8e60 */ -public class CalcPseudoPerm extends AbstractCalc { +public class CalcPseudoPerm extends Calc { /** * @pdRoleInfo migr=no name=CalcPseudoPermBrancheOrificeManoeuvre assc=association105 coll=java.util.List * impl=java.util.ArrayList mult=0..* type=Composition Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermBrancheOrificeManoeuvre.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermBrancheOrificeManoeuvre.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermBrancheOrificeManoeuvre.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -12,7 +12,7 @@ * * @pdOid 60467b6e-e8e8-4955-a853-e9fe4b6b6c72 */ -public class CalcPseudoPermBrancheOrificeManoeuvre extends AbstractDonCLimM implements CalcPseudoPermItem { +public class CalcPseudoPermBrancheOrificeManoeuvre extends DonCLimMCommon implements CalcPseudoPermItem { /** @pdOid 79fed96a-3cbc-4cca-b1d4-111f92bc6a24 */ private double ouv; /** @pdOid e48fd5c2-0df0-4fa8-ac9f-5b76376c23fa */ Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermBrancheSaintVenantQruis.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermBrancheSaintVenantQruis.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermBrancheSaintVenantQruis.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -12,7 +12,7 @@ * * @pdOid 1b8c3bb1-e7dc-442c-abd0-43443e2db7c7 */ -public class CalcPseudoPermBrancheSaintVenantQruis extends AbstractDonCLimM implements CalcPseudoPermItem { +public class CalcPseudoPermBrancheSaintVenantQruis extends DonCLimMCommon implements CalcPseudoPermItem { /** @pdOid 51303fc4-11ad-4147-9538-584b666adaf4 */ private double qruis; Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermCasierProfilQruis.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermCasierProfilQruis.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermCasierProfilQruis.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -12,7 +12,7 @@ * * @pdOid c7e0b5f9-f129-4a4e-95a3-74527bebcee5 */ -public class CalcPseudoPermCasierProfilQruis extends AbstractDonCLimM implements CalcPseudoPermItem { +public class CalcPseudoPermCasierProfilQruis extends DonCLimMCommon implements CalcPseudoPermItem { /** @pdOid 95d468df-9a43-40a2-8387-c6002d2fae56 */ private double qruis; Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermNoeudNiveauContinuQapp.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermNoeudNiveauContinuQapp.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermNoeudNiveauContinuQapp.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -12,7 +12,7 @@ * * @pdOid 064ff4db-d3e1-4d0a-889c-42db55ca181e */ -public class CalcPseudoPermNoeudNiveauContinuQapp extends AbstractDonCLimM implements CalcPseudoPermItem { +public class CalcPseudoPermNoeudNiveauContinuQapp extends DonCLimMCommon implements CalcPseudoPermItem { /** @pdOid 85cdbeef-f036-460f-909f-581b71981fe0 */ private double qapp; Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermNoeudNiveauContinuZimpose.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermNoeudNiveauContinuZimpose.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPermNoeudNiveauContinuZimpose.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -12,7 +12,7 @@ * * @pdOid 8d0cda52-46e4-48aa-8869-db631ea1df9e */ -public class CalcPseudoPermNoeudNiveauContinuZimpose extends AbstractDonCLimM implements CalcPseudoPermItem { +public class CalcPseudoPermNoeudNiveauContinuZimpose extends DonCLimMCommon implements CalcPseudoPermItem { /** @pdOid b26f3338-1f5f-460a-907f-d3c01160ace3 */ private double zimpose; Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTrans.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTrans.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTrans.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -9,7 +9,7 @@ import java.util.*; /** @pdOid f1cbe51c-c74e-471d-89ca-d3d027003768 */ -public class CalcTrans extends AbstractCalc { +public class CalcTrans extends Calc { /** @pdRoleInfo migr=no name=CalcTransBrancheOrificeManoeuvre assc=association95 coll=java.util.Collection impl=java.util.ArrayList mult=0..* type=Composition */ private java.util.Collection<CalcTransBrancheOrificeManoeuvre> calcTransBrancheOrificeManoeuvre; /** @pdRoleInfo migr=no name=CalcTransBrancheSaintVenantQruis assc=association119 coll=java.util.Collection impl=java.util.ArrayList mult=0..* type=Composition */ @@ -21,7 +21,7 @@ /** @pdRoleInfo migr=no name=CalcTransNoeudNiveauContinuQapp assc=association122 coll=java.util.Collection impl=java.util.ArrayList mult=0..* type=Composition */ private java.util.Collection<CalcTransNoeudNiveauContinuQapp> calcTransNoeudNiveauContinuQapp; /** @pdRoleInfo migr=no name=CalcTransNoeudNiveauContinuTarrage assc=association123 coll=java.util.Collection impl=java.util.ArrayList mult=0..* type=Composition */ - private java.util.Collection<CalcTransNoeudNiveauContinuTarrage> calcTransNoeudNiveauContinuTarrage; + private java.util.Collection<CalcTransNoeudNiveauContinuTarage> calcTransNoeudNiveauContinuTarrage; /** @pdGenerated default getter */ @@ -265,41 +265,41 @@ calcTransNoeudNiveauContinuQapp.clear(); } /** @pdGenerated default getter */ - public java.util.Collection<CalcTransNoeudNiveauContinuTarrage> getCalcTransNoeudNiveauContinuTarrage() { + public java.util.Collection<CalcTransNoeudNiveauContinuTarage> getCalcTransNoeudNiveauContinuTarrage() { if (calcTransNoeudNiveauContinuTarrage == null) - calcTransNoeudNiveauContinuTarrage = new java.util.ArrayList<CalcTransNoeudNiveauContinuTarrage>(); + calcTransNoeudNiveauContinuTarrage = new java.util.ArrayList<CalcTransNoeudNiveauContinuTarage>(); return calcTransNoeudNiveauContinuTarrage; } /** @pdGenerated default iterator getter */ public java.util.Iterator getIteratorCalcTransNoeudNiveauContinuTarrage() { if (calcTransNoeudNiveauContinuTarrage == null) - calcTransNoeudNiveauContinuTarrage = new java.util.ArrayList<CalcTransNoeudNiveauContinuTarrage>(); + calcTransNoeudNiveauContinuTarrage = new java.util.ArrayList<CalcTransNoeudNiveauContinuTarage>(); return calcTransNoeudNiveauContinuTarrage.iterator(); } /** @pdGenerated default setter * @param newCalcTransNoeudNiveauContinuTarrage */ - public void setCalcTransNoeudNiveauContinuTarrage(java.util.Collection<CalcTransNoeudNiveauContinuTarrage> newCalcTransNoeudNiveauContinuTarrage) { + public void setCalcTransNoeudNiveauContinuTarrage(java.util.Collection<CalcTransNoeudNiveauContinuTarage> newCalcTransNoeudNiveauContinuTarrage) { removeAllCalcTransNoeudNiveauContinuTarrage(); for (java.util.Iterator iter = newCalcTransNoeudNiveauContinuTarrage.iterator(); iter.hasNext();) - addCalcTransNoeudNiveauContinuTarrage((CalcTransNoeudNiveauContinuTarrage)iter.next()); + addCalcTransNoeudNiveauContinuTarrage((CalcTransNoeudNiveauContinuTarage)iter.next()); } /** @pdGenerated default add * @param newCalcTransNoeudNiveauContinuTarrage */ - public void addCalcTransNoeudNiveauContinuTarrage(CalcTransNoeudNiveauContinuTarrage newCalcTransNoeudNiveauContinuTarrage) { + public void addCalcTransNoeudNiveauContinuTarrage(CalcTransNoeudNiveauContinuTarage newCalcTransNoeudNiveauContinuTarrage) { if (newCalcTransNoeudNiveauContinuTarrage == null) return; if (this.calcTransNoeudNiveauContinuTarrage == null) - this.calcTransNoeudNiveauContinuTarrage = new java.util.ArrayList<CalcTransNoeudNiveauContinuTarrage>(); + this.calcTransNoeudNiveauContinuTarrage = new java.util.ArrayList<CalcTransNoeudNiveauContinuTarage>(); if (!this.calcTransNoeudNiveauContinuTarrage.contains(newCalcTransNoeudNiveauContinuTarrage)) this.calcTransNoeudNiveauContinuTarrage.add(newCalcTransNoeudNiveauContinuTarrage); } /** @pdGenerated default remove * @param oldCalcTransNoeudNiveauContinuTarrage */ - public void removeCalcTransNoeudNiveauContinuTarrage(CalcTransNoeudNiveauContinuTarrage oldCalcTransNoeudNiveauContinuTarrage) { + public void removeCalcTransNoeudNiveauContinuTarrage(CalcTransNoeudNiveauContinuTarage oldCalcTransNoeudNiveauContinuTarrage) { if (oldCalcTransNoeudNiveauContinuTarrage == null) return; if (this.calcTransNoeudNiveauContinuTarrage != null) Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransBrancheOrificeManoeuvre.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransBrancheOrificeManoeuvre.java 2009-06-04 18:15:30 UTC (rev 4850) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransBrancheOrificeManoeuvre.java 2009-06-04 22:55:35 UTC (rev 4851) @@ -11,7 +11,7 @@ /** CL de type 41 ou 42 en Crue9 * * @pdOid 16db12c1-b4c2-473e-85ec-5e1ae666dc75 */ -public class C... [truncated message content] |
From: <de...@us...> - 2009-06-07 23:24:45
|
Revision: 4853 http://fudaa.svn.sourceforge.net/fudaa/?rev=4853&view=rev Author: deniger Date: 2009-06-07 23:24:34 +0000 (Sun, 07 Jun 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.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/CrueConverterDFRT.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDLHY.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.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/STOReader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHContainer.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleEnchainement.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleRun.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCLimM.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/DonCLimMScenario.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/DonGeoLoc.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/DonPrtGeo.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoBrancheSaintVenant.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoProfilCasier.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoProfilSection.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoSectionIdem.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumInfosEMH.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/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/OrdResScenario.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/ResPrtClinit.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/ResPrtGeoCasier.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/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/metier/helper/LoiHelper.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/ScenarioWriter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/messages.properties trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/MockCrueData.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDCLMFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDH.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueETUFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOCALFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueValidationModele.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele4-1.drso.xml trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueModeleBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueRunBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheModeleFille.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleComparaisonScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleGenerationCrue9.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHModeleBase.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHSousModele.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrtConteneur.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/EnumEMH.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumLitPosition.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtData.java Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/caroleMessages.properties trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ihmMessages.properties Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java 2009-06-05 18:03:25 UTC (rev 4852) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java 2009-06-07 23:24:34 UTC (rev 4853) @@ -16,13 +16,15 @@ // en les créant de la sorte, ALL_RESOURCE_BUNDLE et le parent de DC_RESOURCE qui est le parent de RESOURCE_BUNDLE private static final ResourceBundle ALL_RESOURCE_BUNDLE = ResourceBundle .getBundle("org.fudaa.dodico.crue.io.messages"); - private static final ResourceBundle DC_RESOURCE_BUNDLE = ResourceBundle - .getBundle("org.fudaa.dodico.crue.io.adrienMessages"); - private static final ResourceBundle DH_RESOURCE_BUNDLE = ResourceBundle - .getBundle("org.fudaa.dodico.crue.io.caroleMessages"); - /** ResourceBundle regroupant tous les ResourceBundle définis par des fichiers properties distincts */ - public static final ResourceBundle RESOURCE_BUNDLE = new TempResourceBundle(ALL_RESOURCE_BUNDLE, DC_RESOURCE_BUNDLE, - DH_RESOURCE_BUNDLE); + // private static final ResourceBundle DC_RESOURCE_BUNDLE = ResourceBundle + // .getBundle("org.fudaa.dodico.crue.io.adrienMessages"); + // private static final ResourceBundle DH_RESOURCE_BUNDLE = ResourceBundle + // .getBundle("org.fudaa.dodico.crue.io.caroleMessages"); + // /** ResourceBundle regroupant tous les ResourceBundle définis par des fichiers properties distincts */ + // public static final ResourceBundle RESOURCE_BUNDLE = new TempResourceBundle(ALL_RESOURCE_BUNDLE, + // DC_RESOURCE_BUNDLE, + // DH_RESOURCE_BUNDLE); + public static final ResourceBundle RESOURCE_BUNDLE = ALL_RESOURCE_BUNDLE; protected static class TempResourceBundle extends ResourceBundle { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java 2009-06-05 18:03:25 UTC (rev 4852) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java 2009-06-07 23:24:34 UTC (rev 4853) @@ -134,7 +134,7 @@ final CatEMHNoeud noeudMetier = getEMHNoeudFromReferenceDRSO(eltPersist.NomRef, dataLinked, analyzer); if (noeudMetier != null) { final CalcPseudoPermNoeudNiveauContinuQapp eltMetier = new CalcPseudoPermNoeudNiveauContinuQapp(); - eltMetier.setNomCalculParent(calculPermMetier.getNom()); + eltMetier.setCalculParent(calculPermMetier); eltMetier.setQapp(eltPersist.Qapp); calculPermMetier.addCalcPseudoPermNoeudNiveauContinuQapp(eltMetier); // listeDonCLimMNoeudNiveauContinu.add(eltMetier); @@ -150,7 +150,7 @@ final CatEMHNoeud noeudMetier = getEMHNoeudFromReferenceDRSO(eltPersist.NomRef, dataLinked, analyzer); if (noeudMetier != null) { final CalcPseudoPermNoeudNiveauContinuZimpose eltMetier = new CalcPseudoPermNoeudNiveauContinuZimpose(); - eltMetier.setNomCalculParent(calculPermMetier.getNom()); + eltMetier.setCalculParent(calculPermMetier); eltMetier.setZimpose(eltPersist.Zimpose); calculPermMetier.addCalcPseudoPermNoeudNiveauContinuZimpose(eltMetier); noeudMetier.addDCLM(eltMetier); @@ -163,7 +163,7 @@ final CatEMHBranche brancheMetier = getEMHBrancheFromReferenceDRSO(eltPersist.NomRef, dataLinked, analyzer); if (brancheMetier != null) { final CalcPseudoPermBrancheOrificeManoeuvre eltMetier = new CalcPseudoPermBrancheOrificeManoeuvre(); - eltMetier.setNomCalculParent(calculPermMetier.getNom()); + eltMetier.setCalculParent(calculPermMetier); eltMetier.setOuv(eltPersist.Ouv); eltMetier.setSensOuv(eltPersist.SensOuv); calculPermMetier.addCalcPseudoPermBrancheOrificeManoeuvre(eltMetier); @@ -178,7 +178,7 @@ final CatEMHBranche brancheMetier = getEMHBrancheFromReferenceDRSO(eltPersist.NomRef, dataLinked, analyzer); if (brancheMetier != null) { final CalcPseudoPermBrancheSaintVenantQruis eltMetier = new CalcPseudoPermBrancheSaintVenantQruis(); - eltMetier.setNomCalculParent(calculPermMetier.getNom()); + eltMetier.setCalculParent(calculPermMetier); eltMetier.setQruis(eltPersist.Qruis); calculPermMetier.addCalcPseudoPermBrancheSaintVenantQruis(eltMetier); // listeDonCLimMBrancheSaintVenant.add(eltMetier); @@ -193,7 +193,7 @@ final CatEMHCasier casierMetier = getEMHCasierFromReferenceDRSO(eltPersist.NomRef, dataLinked, analyzer); if (casierMetier != null) { final CalcPseudoPermCasierProfilQruis eltMetier = new CalcPseudoPermCasierProfilQruis(); - eltMetier.setNomCalculParent(calculPermMetier.getNom()); + eltMetier.setCalculParent(calculPermMetier); eltMetier.setQruis(eltPersist.Qruis); calculPermMetier.addCalcPseudoPermCasierProfilQruis(eltMetier); // listeDonCLimMCasierProfil.add(eltMetier); @@ -247,7 +247,7 @@ final CatEMHNoeud noeudMetier = getEMHNoeudFromReferenceDRSO(eltPersist.NomRef, dataLinked, analyzer); if (noeudMetier != null) { final CalcTransNoeudNiveauContinuQapp eltMetier = new CalcTransNoeudNiveauContinuQapp(); - eltMetier.setNomCalculParent(calculTransMetier.getNom()); + eltMetier.setCalculParent(calculTransMetier); LoiDF loi = null; if (eltPersist.HydrogrammeQapp == null) { @@ -267,7 +267,7 @@ final CatEMHNoeud noeudMetier = getEMHNoeudFromReferenceDRSO(eltPersist.NomRef, dataLinked, analyzer); if (noeudMetier != null) { final CalcTransNoeudNiveauContinuLimnigramme eltMetier = new CalcTransNoeudNiveauContinuLimnigramme(); - eltMetier.setNomCalculParent(calculTransMetier.getNom()); + eltMetier.setCalculParent(calculTransMetier); noeudMetier.addDCLM(eltMetier); eltMetier.setEMH(noeudMetier); @@ -290,7 +290,7 @@ final CatEMHNoeud noeudMetier = getEMHNoeudFromReferenceDRSO(eltPersist.NomRef, dataLinked, analyzer); if (noeudMetier != null) { final CalcTransNoeudNiveauContinuTarage eltMetier = new CalcTransNoeudNiveauContinuTarage(); - eltMetier.setNomCalculParent(calculTransMetier.getNom()); + eltMetier.setCalculParent(calculTransMetier); noeudMetier.addDCLM(eltMetier); eltMetier.setEMH(noeudMetier); @@ -311,7 +311,7 @@ final CatEMHBranche brancheMetier = getEMHBrancheFromReferenceDRSO(eltPersist.NomRef, dataLinked, analyzer); if (brancheMetier != null) { final CalcTransBrancheOrificeManoeuvre eltMetier = new CalcTransBrancheOrificeManoeuvre(); - eltMetier.setNomCalculParent(calculTransMetier.getNom()); + eltMetier.setCalculParent(calculTransMetier); brancheMetier.addDCLM(eltMetier); eltMetier.setEMH(brancheMetier); LoiDF loi = null; @@ -332,7 +332,7 @@ final CatEMHBranche brancheMetier = getEMHBrancheFromReferenceDRSO(eltPersist.NomRef, dataLinked, analyzer); if (brancheMetier != null) { final CalcTransBrancheSaintVenantQruis eltMetier = new CalcTransBrancheSaintVenantQruis(); - eltMetier.setNomCalculParent(calculTransMetier.getNom()); + eltMetier.setCalculParent(calculTransMetier); brancheMetier.addDCLM(eltMetier); eltMetier.setEMH(brancheMetier); LoiDF loi = null; @@ -353,7 +353,7 @@ final CatEMHCasier casierMetier = getEMHCasierFromReferenceDRSO(eltPersist.NomRef, dataLinked, analyzer); if (casierMetier != null) { final CalcTransCasierProfilQruis eltMetier = new CalcTransCasierProfilQruis(); - eltMetier.setNomCalculParent(calculTransMetier.getNom()); + eltMetier.setCalculParent(calculTransMetier); casierMetier.addDCLM(eltMetier); eltMetier.setEMH(casierMetier); LoiDF loi = null; @@ -390,8 +390,7 @@ * @param analyzer * @return */ - private static Loi getLoiFromReferenceDLHY(final String nomRef, final CrueData dataLinked, - final CtuluAnalyze analyzer) { + private static Loi getLoiFromReferenceDLHY(final String nomRef, final CrueData dataLinked, final CtuluAnalyze analyzer) { final Loi loi = LoiHelper.findByReference(nomRef, dataLinked.getLois()); if (loi == null) { 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-06-05 18:03:25 UTC (rev 4852) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCSP.java 2009-06-07 23:24:34 UTC (rev 4853) @@ -7,49 +7,9 @@ import org.apache.commons.collections.CollectionUtils; import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.dodico.crue.io.common.CrueConstants; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheAbstract; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheBarrageFilEau; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheBarrageFilEauAbstract; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheBarrageGenerique; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheBarrageGeneriqueAbstract; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheClassiqueAbstract; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheNiveauxAssocies; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheOrifice; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBranchePDCAbstract; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBranchePdc; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheSaintVenant; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheSeuilAbstract; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheSeuilLateral; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheSeuilTransversal; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoElemAvecSeuilPdc; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoElemSeuilOrifice; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoPdc; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoRegimeDenoye; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoRegimeNoye; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoZasso; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.SectionBrancheAbstract; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.*; import org.fudaa.dodico.crue.metier.CrueData; -import org.fudaa.dodico.crue.metier.emh.CatEMHBranche; -import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrt; -import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheBarrageFilEau; -import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheBarrageGenerique; -import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheNiveauxAssocies; -import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheOrifice; -import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBranchePdc; -import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSaintVenant; -import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSeuilLateral; -import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSeuilTransversal; -import org.fudaa.dodico.crue.metier.emh.EMH; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheBarrageFilEau; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheBarrageGenerique; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheNiveauxAssocies; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheOrifice; -import org.fudaa.dodico.crue.metier.emh.EMHBranchePdc; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheSaintVenant; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheSeuilLateral; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheSeuilTransversal; -import org.fudaa.dodico.crue.metier.emh.ElemSeuilAvecPdc; -import org.fudaa.dodico.crue.metier.emh.LoiFF; +import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.metier.helper.EMHBrancheHelper; /** @@ -69,7 +29,7 @@ final List<EMH> listeEMHDRSO = dataLinked.getAllEMH(); // -- remplissage des branches --// - CrueConverterDCSP.daoToMetierBranche(dao.DonCalcSansPrtBranches, listeEMHDRSO, analyser); + daoToMetierBranche(dao.DonCalcSansPrtBranches, listeEMHDRSO, analyser); // -- remplissage des sections --// // CrueConverterDCSP.daoToMetierSection(dao.Sections, listeEMHDRSO, analyser); @@ -382,6 +342,7 @@ seuilPersist.CoefD = seuilMetier.getCoefD(); seuilPersist.Largeur = seuilMetier.getLargeur(); seuilPersist.Zseuil = seuilMetier.getZseuil(); + seuilPersist.Haut = seuilMetier.getHaut(); seuilPersist.CoefCtrLim = seuilMetier.getCoefCtrLim(); seuilPersist.Sens = seuilMetier.getSens(); return seuilPersist; @@ -638,6 +599,7 @@ seuilMetier.setCoefD(seuilPersist.CoefD); seuilMetier.setLargeur(seuilPersist.Largeur); seuilMetier.setZseuil(seuilPersist.Zseuil); + seuilMetier.setHaut(seuilPersist.Haut); seuilMetier.setCoefCtrLim(seuilPersist.CoefCtrLim); seuilMetier.setSens(seuilPersist.Sens); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDFRT.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDFRT.java 2009-06-05 18:03:25 UTC (rev 4852) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDFRT.java 2009-06-07 23:24:34 UTC (rev 4853) @@ -7,7 +7,7 @@ import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDLHY.DaoLoiFF; import org.fudaa.dodico.crue.metier.CrueData; -import org.fudaa.dodico.crue.metier.CrueDataImpl; +import org.fudaa.dodico.crue.metier.EMHFactory; import org.fudaa.dodico.crue.metier.emh.DonFrt; import org.fudaa.dodico.crue.metier.emh.DonFrtStrickler; @@ -36,7 +36,7 @@ } public DonFrt toMetier(final DaoLoiFF inDao) { - final DonFrtStrickler outMetier = CrueDataImpl.createDonFrtStrickler(null); + final DonFrtStrickler outMetier = EMHFactory.createDonFrtStrickler(null); // outMetier.Strickler = inDao; AbstractDaoLoi.daoToMetierLoi(outMetier.Strickler, inDao); return outMetier; Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDLHY.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDLHY.java 2009-06-05 18:03:25 UTC (rev 4852) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDLHY.java 2009-06-07 23:24:34 UTC (rev 4853) @@ -74,8 +74,7 @@ /** * Convertit les objets persistants en objets métier */ - public List<Loi> convertDaoToMetier(final CrueDaoDLHY dao, final CrueData dataLinked, - final CtuluAnalyze analyser) { + public List<Loi> convertDaoToMetier(final CrueDaoDLHY dao, final CrueData dataLinked, final CtuluAnalyze analyser) { final List<AbstractDaoLoi> inLois = dao.Lois; List<Loi> outLoi = Collections.emptyList(); @@ -92,6 +91,9 @@ outLoi.add(cs.daoToMetier(in)); } } + if (dataLinked != null) { + dataLinked.getLoiConteneur().setLois(outLoi); + } return outLoi; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java 2009-06-05 18:03:25 UTC (rev 4852) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java 2009-06-07 23:24:34 UTC (rev 4853) @@ -5,54 +5,9 @@ import org.apache.commons.collections.CollectionUtils; import org.fudaa.ctulu.CtuluAnalyze; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.BrancheAbstract; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.BrancheBarrageFilEau; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.BrancheBarrageGenerique; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.BrancheEnchainement; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.BrancheNiveauxAssocies; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.BrancheOrifice; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.BranchePdc; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.BrancheSaintVenant; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.BrancheSeuilLateral; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.BrancheSeuilTransversal; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.BrancheStrickler; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.CasierAbstract; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.CasierMNT; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.CasierProfil; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.NoeudNiveauContinu; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.SectionAbstract; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.SectionRefIdem; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.SectionRefInterpolee; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.SectionRefProfil; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.SectionRefSansGeometrie; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDPTI.*; import org.fudaa.dodico.crue.metier.CrueData; -import org.fudaa.dodico.crue.metier.emh.CatEMHBranche; -import org.fudaa.dodico.crue.metier.emh.CatEMHCasier; -import org.fudaa.dodico.crue.metier.emh.CatEMHNoeud; -import org.fudaa.dodico.crue.metier.emh.CatEMHSection; -import org.fudaa.dodico.crue.metier.emh.DonPrtCIni; -import org.fudaa.dodico.crue.metier.emh.DonPrtCIniBranche; -import org.fudaa.dodico.crue.metier.emh.DonPrtCIniBrancheOrifice; -import org.fudaa.dodico.crue.metier.emh.DonPrtCIniBrancheSaintVenant; -import org.fudaa.dodico.crue.metier.emh.DonPrtCIniCasierProfil; -import org.fudaa.dodico.crue.metier.emh.DonPrtCIniNoeudNiveauContinu; -import org.fudaa.dodico.crue.metier.emh.DonPrtCIniSection; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheBarrageFilEau; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheBarrageGenerique; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheEnchainement; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheNiveauxAssocies; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheOrifice; -import org.fudaa.dodico.crue.metier.emh.EMHBranchePdc; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheSaintVenant; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheSeuilLateral; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheSeuilTransversal; -import org.fudaa.dodico.crue.metier.emh.EMHBrancheStrickler; -import org.fudaa.dodico.crue.metier.emh.EMHCasierMNT; -import org.fudaa.dodico.crue.metier.emh.EMHCasierProfil; -import org.fudaa.dodico.crue.metier.emh.EMHSectionIdem; -import org.fudaa.dodico.crue.metier.emh.EMHSectionInterpolee; -import org.fudaa.dodico.crue.metier.emh.EMHSectionProfil; -import org.fudaa.dodico.crue.metier.emh.EMHSectionSansGeometrie; +import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.metier.helper.EMHBrancheHelper; import org.fudaa.dodico.crue.metier.helper.EMHCasierHelper; import org.fudaa.dodico.crue.metier.helper.EMHNoeudHelper; @@ -78,16 +33,16 @@ final CrueData dataCrue = dataLinked; // -- remplissage des noeuds --// - remplirNoeudAvecPersistanceDPTI(dao.DonPrtCIniNoeuds, dataCrue.getNoeuds(), analyser); + daoToMetierNoeud(dao.DonPrtCIniNoeuds, dataCrue.getNoeuds(), analyser); // -- remplissage des branches --// - remplirBrancheAvecPersistanceDPTI(dao.DonPrtCIniBranches, dataCrue.getBranches(), analyser); + daoToMetierBranche(dao.DonPrtCIniBranches, dataCrue.getBranches(), analyser); // -- remplissage des casiers --// - CrueConverterDPTI.remplirCasierAvecPersistanceDPTI(dao.DonPrtCIniCasiers, dataCrue.getCasiers(), analyser); + daoToMetierCasier(dao.DonPrtCIniCasiers, dataCrue.getCasiers(), analyser); // -- remplissage des sections --// - CrueConverterDPTI.remplirSectionsAvecPersistanceDPTI(dao.DonPrtCIniSections, dataCrue.getSections(), analyser); + daoToMetierSection(dao.DonPrtCIniSections, dataCrue.getSections(), analyser); // TODO pour le moment rien mais il faudrait demander des pr�cisions --// @@ -101,16 +56,16 @@ final CrueDaoDPTI res = new CrueDaoDPTI(); // -- etape 1: on remplit les infso des noeuds --// - res.DonPrtCIniNoeuds = CrueConverterDPTI.remplirPersistanceAvecNoeudDPTI(metier.getNoeuds(), analyser); + res.DonPrtCIniNoeuds = metierToDaoNoeud(metier.getNoeuds(), analyser); // -- etape 2: on remplit les infso des branches --// - res.DonPrtCIniBranches = CrueConverterDPTI.remplirPersistanceAvecBrancheDPTI(metier.getBranches(), analyser); + res.DonPrtCIniBranches = metierToDaoBranche(metier.getBranches(), analyser); // -- etape 3: on remplit les infso des casiers --// - res.DonPrtCIniCasiers = CrueConverterDPTI.remplirPersistanceAvecCasierDPTI(metier.getCasiers(), analyser); + res.DonPrtCIniCasiers = metierToDaoCasier(metier.getCasiers(), analyser); // -- etape 4: on remplit les infso des sections --// - res.DonPrtCIniSections = CrueConverterDPTI.remplirPersistanceAvecSectionDPTI(metier.getSections(), analyser); + res.DonPrtCIniSections = metierToDaoSection(metier.getSections(), analyser); return res; } @@ -121,7 +76,7 @@ * @param analyser * @return liste de noeuds niveau continu persistants */ - public static List remplirPersistanceAvecNoeudDPTI(final List<CatEMHNoeud> data, final CtuluAnalyze analyser) { + public static List metierToDaoNoeud(final List<CatEMHNoeud> data, final CtuluAnalyze analyser) { final List listePersistante = new ArrayList(); if (CollectionUtils.isNotEmpty(data)) { @@ -153,8 +108,7 @@ * @param analyser * @return List<SectionAbstract> */ - public static List<SectionAbstract> remplirPersistanceAvecSectionDPTI(final List<CatEMHSection> data, - final CtuluAnalyze analyser) { + public static List<SectionAbstract> metierToDaoSection(final List<CatEMHSection> data, final CtuluAnalyze analyser) { final List<SectionAbstract> listePersistante = new ArrayList<SectionAbstract>(); if (data == null || data.size() == 0) { @@ -201,8 +155,7 @@ * @param analyser * @return List<BrancheAbstract> */ - public static List<BrancheAbstract> remplirPersistanceAvecBrancheDPTI(final List<CatEMHBranche> data, - final CtuluAnalyze analyser) { + public static List<BrancheAbstract> metierToDaoBranche(final List<CatEMHBranche> data, final CtuluAnalyze analyser) { final List<BrancheAbstract> listePersistante = new ArrayList<BrancheAbstract>(); if (data == null || data.size() == 0) { @@ -292,8 +245,7 @@ * @param analyser * @return List<CasierAbstract> */ - public static List<CasierAbstract> remplirPersistanceAvecCasierDPTI(final List<CatEMHCasier> data, - final CtuluAnalyze analyser) { + public static List<CasierAbstract> metierToDaoCasier(final List<CatEMHCasier> data, final CtuluAnalyze analyser) { final List<CasierAbstract> listePersistante = new ArrayList<CasierAbstract>(); for (final CatEMHCasier casier : data) { @@ -332,8 +284,8 @@ * @param data * @param analyser */ - public static void remplirNoeudAvecPersistanceDPTI(final List<NoeudNiveauContinu> listePersistants, - final List<CatEMHNoeud> data, final CtuluAnalyze analyser) { + public static void daoToMetierNoeud(final List<NoeudNiveauContinu> listePersistants, final List<CatEMHNoeud> data, + final CtuluAnalyze analyser) { if (CollectionUtils.isNotEmpty(listePersistants)) { for (final NoeudNiveauContinu noeudPersist : listePersistants) { @@ -359,8 +311,8 @@ * @param data * @param analyser */ - public static void remplirSectionsAvecPersistanceDPTI(final List<SectionAbstract> listePersistants, - final List<CatEMHSection> data, final CtuluAnalyze analyser) { + public static void daoToMetierSection(final List<SectionAbstract> listePersistants, final List<CatEMHSection> data, + final CtuluAnalyze analyser) { if (CollectionUtils.isNotEmpty(listePersistants)) { for (final SectionAbstract sectionPersist : listePersistants) { @@ -386,8 +338,8 @@ * @param data * @param analyser */ - public static void remplirBrancheAvecPersistanceDPTI(final List<BrancheAbstract> listePersistants, - final List<CatEMHBranche> data, final CtuluAnalyze analyser) { + public static void daoToMetierBranche(final List<BrancheAbstract> listePersistants, final List<CatEMHBranche> data, + final CtuluAnalyze analyser) { if (listePersistants == null || listePersistants.size() == 0) { analyser.addInfo("io.emptyBranche.error"); @@ -438,8 +390,8 @@ * @param data * @param analyser */ - public static void remplirCasierAvecPersistanceDPTI(final List<CasierAbstract> listePersistants, - final List<CatEMHCasier> data, final CtuluAnalyze analyser) { + public static void daoToMetierCasier(final List<CasierAbstract> listePersistants, final List<CatEMHCasier> data, + final CtuluAnalyze analyser) { if (listePersistants == null || listePersistants.size() == 0) { CrueHelper.listEmpty("Casiers", analyser); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java 2009-06-05 18:03:25 UTC (rev 4852) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java 2009-06-07 23:24:34 UTC (rev 4853) @@ -53,12 +53,12 @@ final EMHModeleEnchainement baseModeles = remplirBaseModeles(persistance.Modeles, baseSousModeles, infos, analyser); // -- remplissage des sc�narios --// - final List<EMHScenario> baseScenarios = remplirBaseSecenarios(persistance.Scenarios, baseModeles, infos, analyser); + final List<ManagerEMHScenario> baseScenarios = remplirBaseSecenarios(persistance.Scenarios, baseModeles, infos, analyser); // -- mise en place du scenario courant --// if (persistance.ScenarioCourant != null - && EMHScenario.findById(persistance.ScenarioCourant.NomRef, baseScenarios) != null) { - project.setScenarioCourant(EMHScenario.findById(persistance.ScenarioCourant.NomRef, baseScenarios)); + && ManagerEMHScenario.findById(persistance.ScenarioCourant.NomRef, baseScenarios) != null) { + project.setScenarioCourant(ManagerEMHScenario.findById(persistance.ScenarioCourant.NomRef, baseScenarios)); } else { CrueHelper.unknowReference("Scenario", persistance.ScenarioCourant.NomRef, analyser); } @@ -80,9 +80,9 @@ * @param listeMessageError * @return */ - public static List<EMHScenario> remplirBaseSecenarios(final List<Scenario> listePersist, + public static List<ManagerEMHScenario> remplirBaseSecenarios(final List<Scenario> listePersist, final EMHModeleEnchainement baseModeles, final EMHProjectInfos infos, final CtuluAnalyze analyser) { - final List<EMHScenario> listeScenariosMetier = new ArrayList<EMHScenario>(); + final List<ManagerEMHScenario> listeScenariosMetier = new ArrayList<ManagerEMHScenario>(); if (listePersist == null || listePersist.size() == 0) { CrueHelper.listEmpty("Scenarios", analyser); @@ -90,9 +90,9 @@ } else { for (final Scenario scenarPersist : listePersist) { - if (scenarPersist.Nom != null && EMHScenario.findById(scenarPersist.Nom, listeScenariosMetier) == null) { + if (scenarPersist.Nom != null && ManagerEMHScenario.findById(scenarPersist.Nom, listeScenariosMetier) == null) { - final EMHScenario newScenar = new EMHScenario(scenarPersist.Nom); + final ManagerEMHScenario newScenar = new ManagerEMHScenario(scenarPersist.Nom); EMHInfosVersion infosVersions = remplirMetierInfos(scenarPersist); newScenar.setInfosVersions(infosVersions); @@ -116,7 +116,7 @@ if (scenarPersist.ScenarioModeleV9 != null) { if (scenarPersist.ScenarioModeleV9.NomRef != null && baseModeles.existModeleInBase(scenarPersist.ScenarioModeleV9.NomRef)) { - final EMHModeleBase modeleData = baseModeles.getModeleFromBase(scenarPersist.ScenarioModeleV9.NomRef); + final ManagerEMHModeleBase modeleData = baseModeles.getModeleFromBase(scenarPersist.ScenarioModeleV9.NomRef); // -- ajout du modele dans le scenar --// newScenar.addModeleDonneesToScenario(modeleData); } else { @@ -128,7 +128,7 @@ for (final Ref reference : scenarPersist.Modeles) { // -- on essaie de retrouver la reference du fichier --// if (reference.NomRef != null && baseModeles.existModeleInBase(reference.NomRef)) { - final EMHModeleBase modeleData = baseModeles.getModeleFromBase(reference.NomRef); + final ManagerEMHModeleBase modeleData = baseModeles.getModeleFromBase(reference.NomRef); // -- ajout du modele dans le scenar --// newScenar.addModeleDonneesToScenario(modeleData); } else { @@ -160,7 +160,7 @@ // -- ETAPE 1 :recuperation du modele referenc� --// if (modeleRun.NomRef != null && baseModeles.existModeleInBase(modeleRun.NomRef)) { - final EMHModeleBase modeleDataRun = baseModeles.getModeleFromBase(modeleRun.NomRef); + final ManagerEMHModeleBase modeleDataRun = baseModeles.getModeleFromBase(modeleRun.NomRef); // -- ETAPE 2 :recuperation des fichiers resultats associ�s --// @@ -244,7 +244,7 @@ // -- remplisage des infos --// final EMHInfosVersion infosVersions = remplirMetierInfos(smPersist); if (smPersist.Nom != null && gestionSousModeles.accept(smPersist.Nom)) { - final EMHModeleBase smMetier = new EMHModeleBase(smPersist.Nom); + final ManagerEMHModeleBase smMetier = new ManagerEMHModeleBase(smPersist.Nom); smMetier.setInfosVersions(infosVersions); if (smPersist.SousModeleFichEtudes == null || smPersist.SousModeleFichEtudes.size() == 0) { CrueHelper.listEmpty("FichEtudes de SousModele " + smPersist.Nom, analyser); @@ -290,7 +290,7 @@ // -- remplisage des infos --// final EMHInfosVersion infosVersions = remplirMetierInfos(smPersist); if (smPersist.Nom != null && gestionModeles.accept(smPersist.Nom)) { - final EMHModeleBase newModeleMetier = new EMHModeleBase(smPersist.Nom); + final ManagerEMHModeleBase newModeleMetier = new ManagerEMHModeleBase(smPersist.Nom); newModeleMetier.setInfosVersions(infosVersions); // -- ajout des fichiers de donn�es --// if (smPersist.FichEtudes == null || smPersist.FichEtudes.size() == 0) { @@ -313,7 +313,7 @@ for (final Ref reference : smPersist.SousModeles) { // -- on essaie de retrouver la reference du fichier --// if (reference.NomRef != null && baseSousModeles.existModeleInBase(reference.NomRef)) { - final EMHModeleBase sousModeleData = baseSousModeles.getModeleFromBase(reference.NomRef); + final ManagerEMHModeleBase sousModeleData = baseSousModeles.getModeleFromBase(reference.NomRef); newModeleMetier.addSousModeleDonneesToModele(sousModeleData); } else { CrueHelper.unknowReference("SousModele", reference.NomRef, analyser); 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-06-05 18:03:25 UTC (rev 4852) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-06-07 23:24:34 UTC (rev 4853) @@ -12,6 +12,7 @@ import org.fudaa.dodico.crue.io.dao.CrueHelper; import org.fudaa.dodico.crue.metier.CrueData; import org.fudaa.dodico.crue.metier.CrueDataImpl; +import org.fudaa.dodico.crue.metier.EMHFactory; import org.fudaa.dodico.crue.metier.emh.CatEMHBranche; import org.fudaa.dodico.crue.metier.emh.CatEMHCasier; import org.fudaa.dodico.crue.metier.emh.CatEMHNoeud; @@ -1890,7 +1891,7 @@ // strickler constant // STRIREF(o) "nom_strickler" k (nom du strickler et valeur associée) final String nomFrot = in_.stringField(1); - final DonFrtStrickler frt = CrueDataImpl.createDonFrtStrickler(nomFrot); + final DonFrtStrickler frt = EMHFactory.createDonFrtStrickler(nomFrot); frt.Strickler.getEvolutionFF().getMpoints().add(new PtEvolutionFF(0, in_.doubleField(2))); metier.getFrottements().add(frt); @@ -1914,7 +1915,7 @@ // STRIREFH(o) "nom_strickler" h1 k1 h2 k2... (nom du strickler, et couples h/k, h étant la hauteur par rapport // au point le plus bas du profil) final String nomFrot = in_.stringField(1); - final DonFrtStrickler frt = CrueDataImpl.createDonFrtStrickler(nomFrot); + final DonFrtStrickler frt = EMHFactory.createDonFrtStrickler(nomFrot); final List<PtEvolutionFF> list = frt.Strickler.getEvolutionFF().getMpoints(); for (int i = 2; i < in_.getNumberOfFields(); i++) { final double valX = in_.doubleField(i++); 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-06-05 18:03:25 UTC (rev 4852) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2009-06-07 23:24:34 UTC (rev 4853) @@ -199,6 +199,7 @@ } } catch (final Exception e) { analyze_.manageException(e); + e.printStackTrace(); logError(e.getMessage(), in_ == null ? -1 : in_.getLineNumber(), e); } for (final FortranReader ins : readers) { @@ -730,7 +731,7 @@ emh.addDCLM(nncQapp); } nncQapp.setQapp(conlimi); - nncQapp.setNomCalculParent(calcPerm.getNom()); + nncQapp.setCalculParent(calcPerm); calcPerm.addCalcPseudoPermNoeudNiveauContinuQapp(nncQapp); } else if (dclm instanceof CalcPseudoPermNoeudNiveauContinuZimpose) { @@ -743,7 +744,7 @@ emh.addDCLM(nncZimpose); } nncZimpose.setZimpose(conlimi); - nncZimpose.setNomCalculParent(calcPerm.getNom()); + nncZimpose.setCalculParent(calcPerm); calcPerm.addCalcPseudoPermNoeudNiveauContinuZimpose(nncZimpose); } } @@ -769,7 +770,7 @@ emh.addDCLM(brancheOrOuv); } brancheOrOuv.setOuv(conlimi); - brancheOrOuv.setNomCalculParent(calcPerm.getNom()); + brancheOrOuv.setCalculParent(calcPerm); calcPerm.addCalcPseudoPermBrancheOrificeManoeuvre(brancheOrOuv); } } @@ -792,7 +793,7 @@ final CalcPseudoPermBrancheSaintVenantQruis brancheSV = new CalcPseudoPermBrancheSaintVenantQruis(); // qruis lu en amont brancheSV.setQruis(qruis); - brancheSV.setNomCalculParent(calcPerm.getNom()); + brancheSV.setCalculParent(calcPerm); calcPerm.addCalcPseudoPermBrancheSaintVenantQruis(brancheSV); emh.addDCLM(brancheSV); @@ -972,7 +973,7 @@ return; } final CalcTransNoeudNiveauContinuQapp metier = new CalcTransNoeudNiveauContinuQapp(); - metier.setNomCalculParent(calcTrans.getNom()); + metier.setCalculParent(calcTrans); noeud.addDCLM(metier); metier.setEMH(noeud); @@ -987,7 +988,7 @@ return; } final CalcTransNoeudNiveauContinuLimnigramme metier = new CalcTransNoeudNiveauContinuLimnigramme(); - metier.setNomCalculParent(calcTrans.getNom()); + metier.setCalculParent(calcTrans); noeud.addDCLM(metier); metier.setEMH(noeud); calcTrans.addCalcTransNoeudNiveauContinuLimnigramme(metier); @@ -1000,7 +1001,7 @@ return; } final CalcTransNoeudNiveauContinuTarage metier = new CalcTransNoeudNiveauContinuTarage(); - metier.setNomCalculParent(calcTrans.getNom()); + metier.setCalculParent(calcTrans); noeud.addDCLM(metier); metier.setEMH(noeud); calcTrans.addCalcTransNoeudNiveauContinuTarrage(metier); @@ -1013,7 +1014,7 @@ return; } final CalcTransBrancheOrificeManoeuvre metier = new CalcTransBrancheOrificeManoeuvre(); - metier.setNomCalculParent(calcTrans.getNom()); + metier.setCalculParent(calcTrans); // TODO utiliser converter Crue9 if (limtyp == 41) { metier.setSensOuv(EnumSensOuv.OUV_VERS_HAUT); @@ -1255,11 +1256,7 @@ } // Création des branches SaintVenantQruis correspondant aux branchex saint venant de DRSO - List<Loi> dlhy = res.getLois(); - if (dlhy == null) { - dlhy = new ArrayList<Loi>(); - res.setLois(dlhy); - } + DonLoiHYConteneur dlhy = res.getLoiConteneur(); final List<CatEMHBranche> branches = res.getBranches(); for (int i = 0, imax = branches.size(); i < imax; i++) { @@ -1270,11 +1267,11 @@ if (emh instanceof EMHBrancheSaintVenant) { final CalcTransBrancheSaintVenantQruis brancheSV = new CalcTransBrancheSaintVenantQruis(); - brancheSV.setNomCalculParent(calcTrans.getNom()); + brancheSV.setCalculParent(calcTrans); brancheSV.setEMH(emh); final String nomLoi = "HydrogrammeRuis" + nomEmh; - final Loi loi = LoiHelper.findByReference(nomLoi, dlhy); + final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois()); LoiDF loiDF = null; // Si la loi existe dans CrueData, c'est qu'elle existe aussi dans les conditions initiales ; On met à @@ -1298,7 +1295,7 @@ brancheSV.setHydrogrammeQruis(loiDF); // Ajout de la loi dans DLHY - dlhy.add(loiDF); + dlhy.addLoi(loiDF); } loiDF.setEvolutionFF(evolutionFF); } @@ -1324,12 +1321,7 @@ return; } - List<Loi> dlhy = res.getLois(); - if (dlhy == null) { - dlhy = new ArrayList<Loi>(); - res.setLois(dlhy); - } - + DonLoiHYConteneur dlhy = res.getLoiConteneur(); final List<DonCLimM> listeDCLMs = emh.getDCLM(); // il devrait y avoir la DCLM du calcul transitoire, ajouté plus haut (sinon c'est une erreur d'algo) if (CollectionUtils.isEmpty(listeDCLMs)) { return; } @@ -1354,7 +1346,7 @@ if (nncTrans instanceof CalcTransNoeudNiveauContinuQapp) { nomLoi = "Hydrogramme" + nomEmh; - final Loi loi = LoiHelper.findByReference(nomLoi, dlhy); + final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois()); LoiDF loiDF = null; // Si la loi existe dans CrueData, c'est qu'elle existe aussi dans les conditions initiales ; On met à @@ -1384,14 +1376,14 @@ nncHydro.setHydrogrammeQapp(loiDF); // Ajout de la loi dans DLHY - dlhy.add(loiDF); + dlhy.addLoi(loiDF); } loiDF.setEvolutionFF(evolutionFF); } else if (nncTrans instanceof CalcTransNoeudNiveauContinuLimnigramme) { nomLoi = "Limnigramme" + nomEmh; - final Loi loi = LoiHelper.findByReference(nomLoi, dlhy); + final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois()); LoiDF loiDF = null; // Si la loi existe dans CrueData, c'est qu'elle existe aussi dans les conditions initiales ; On met à @@ -1415,14 +1407,14 @@ nncLimni.setLimnigramme(loiDF); // Ajout de la loi dans DLHY - dlhy.add(loiDF); + dlhy.addLoi(loiDF); } loiDF.setEvolutionFF(evolutionFF); } else if (nncTrans instanceof CalcTransNoeudNiveauContinuTarage) { nomLoi = "Tarrage" + nomEmh; - final Loi loi = LoiHelper.findByReference(nomLoi, dlhy); + final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois()); LoiFF loiFF = null; // Si la loi existe dans CrueData, c'est qu'elle existe aussi dans les conditions initiales ; On met à @@ -1443,7 +1435,7 @@ nncTarrage.setTarrage(loiFF); // Ajout de la loi dans DLHY - dlhy.add(loiFF); + dlhy.addLoi(loiFF); } loiFF.setEvolutionFF(evolutionFF); @@ -1470,7 +1462,7 @@ && brancheOrManoeuvre.getNomCalculParent().equals(calcTrans.getNom())) { nomLoi = "Manoeuvre" + nomEmh; - final Loi loi = LoiHelper.findByReference(nomLoi, dlhy); + final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois()); LoiDF loiDF = null; // Si la loi existe dans CrueData, c'est qu'elle existe aussi dans les conditions initiales ; On met à @@ -1492,7 +1484,7 @@ brancheOrManoeuvre.setManoeuvre(loiDF); // Ajout de la loi dans DLHY - dlhy.add(loiDF); + dlhy.addLoi(loiDF); } loiDF.setEvolutionFF(evolutionFF); } 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-06-05 18:03:25 UTC (rev 4852) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STOReader.java 2009-06-07 23:24:34 UTC (rev 4853) @@ -8,21 +8,9 @@ import java.util.ArrayList; import java.util.List; -import org.fudaa.dodico.crue.io.neuf.STOSequentialReader.DonneesBranche; -import org.fudaa.dodico.crue.io.neuf.STOSequentialReader.DonneesCasier; -import org.fudaa.dodico.crue.io.neuf.STOSequentialReader.DonneesGenProfil; -import org.fudaa.dodico.crue.io.neuf.STOSequentialReader.DonneesGeneralesModele; -import org.fudaa.dodico.crue.io.neuf.STOSequentialReader.DonneesNoeud; -import org.fudaa.dodico.crue.io.neuf.STOSequentialReader.DonneesSpecProf; -import org.fudaa.dodico.crue.io.neuf.STOSequentialReader.ParametresGeneraux; +import org.fudaa.dodico.crue.io.neuf.STOSequentialReader.*; import org.fudaa.dodico.crue.metier.CrueData; -import org.fudaa.dodico.crue.metier.emh.LoiFF; -import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; -import org.fudaa.dodico.crue.metier.emh.ParamNumCalcTrans; -import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase; -import org.fudaa.dodico.crue.metier.emh.PlanimetrageNbrPdzCst; -import org.fudaa.dodico.crue.metier.emh.ResPrtGeo; -import org.fudaa.dodico.crue.metier.emh.ResPrtGeoCasier; +import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.metier.helper.LoiFactory; /** @@ -375,7 +363,7 @@ STOSequentialReader.DonneesCasier casier = new STOSequentialReader.DonneesCasier(); // TODO CDE à remettre après tests Modele5 // final int jmax = (11 + 2 * nbHaut); - final int jmax = (11 + 2 * nbHaut + 1); + final int jmax = (11 + 2 * nbHaut);// a priori il ne faut pas ajouter le 1 float[] sings = new float[jmax]; float[] superfPlan = new float[nbHaut]; float[] surfMouill = new float[nbHaut]; Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java 2009-06-05 18:03:25 UTC (rev 4852) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueData.java 2009-06-07 23:24:34 UTC (rev 4853) @@ -26,6 +26,8 @@ */ List<EMH> getAllEMH(); + ManagerEMHScenario getScenarioData(); + /** * Ajoute automatiquement l'objet emh dans la bonne structure. * @@ -70,11 +72,12 @@ */ List<Loi> getLois(); + DonLoiHYConteneur getLoiConteneur(); + /** * @param lois the lois to set */ - void setLois(final List<Loi> lois); - + // void addLois(final List<Loi> lois); ParamCalcScenario getParamCalc(); void setParamCalc(final ParamCalcScenario paramCalc); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java 2009-06-05 18:03:25 UTC (rev 4852) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/CrueDataImpl.java 2009-06-07 23:24:34 UTC (rev 4853) @@ -19,24 +19,6 @@ public class CrueDataImpl implements CrueData { /** - * @param nomFrot le nom du frottement - * @return le strickler correctement initialise - */ - public static DonFrtStrickler createDonFrtStrickler(final String nomFrot) { - final DonFrtStrickler frt = new DonFrtStrickler(); - frt.Strickler = new LoiFF(); - frt.Strickler.setNom(nomFrot); - frt.Strickler.setExtrapolInf("ValCst"); - frt.Strickler.setExtrapolSup("ValCst"); - frt.Strickler.setEvolutionFF(new EvolutionFF()); - frt.Strickler.setVarAbscisse("Z"); - frt.Strickler.setVarOrdonnee("K"); - final List<PtEvolutionFF> pts = new ArrayList<PtEvolutionFF>(); - frt.Strickler.getEvolutionFF().setMpoints(pts); - return frt; - } - - /** * Recherche le noeud par rapport � la r�f�rence fournie. * * @param listeMetier @@ -51,6 +33,7 @@ } List<CatEMHBranche> branches; + List<CatEMHCasier> casiers; /** @@ -62,56 +45,53 @@ * donnees PNUM. */ ParamNumModeleBase dataParamNumModeleBase; - /** * frottements DFrt. */ List<DonFrt> frottements; /** + * Données OPTI + */ + OrdPrtCIniModeleBase methodesInterpolation; + + /** * Liste de lois. Pour le moment ne contient que des lois définies dans DLHY. */ - List<Loi> lois; - + // List<Loi> lois; List<CatEMHNoeud> noeuds; /** * Données OCAL */ - OrdCalcScenario ordCalc; - + // OrdCalcScenario ordCalc; /** * Données ORES */ - OrdResScenario ordRes; - + // OrdResScenario ordRes; /** * Donnees PCAL. */ - ParamCalcScenario paramCalc; - + // ParamCalcScenario paramCalc; /** * Donnees OPTG */ OrdPrtGeoModeleBase pretraitementsGeom; - List<CatEMHSection> sections; - /** - * Données OPTI + * Données STR */ - OrdPrtCIniModeleBase methodesInterpolation; + List<ResPrtGeo> rptg; + ManagerEMHScenario scenarioData = new ManagerEMHScenario(); + + List<CatEMHSection> sections; + /** * Données STO */ STOSequentialReader sto; - /** - * Données STR - */ - List<ResPrtGeo> rptg; - public CrueDataImpl() { noeuds = new ArrayList<CatEMHNoeud>(); branches = new ArrayList<CatEMHBranche>(); @@ -128,13 +108,14 @@ sections = copy.getSections(); casiers = copy.getCasiers(); frottements = copy.getFrottements(); - lois = copy.getLois(); + scenarioData = copy.getScenarioData(); + // lois = copy.getLois(); conditionsLim = copy.getConditionsLim(); - ordCalc = copy.getOrdCalc(); - ordRes = copy.getOrdRes(); + // ordCalc = copy.getOrdCalc(); + // ordRes = copy.getOrdRes(); this.dataParamNumModeleBase = copy.getParamNumModeleBase(); this.methodesInterpolation = copy.getMethodesInterpolation(); - this.paramCalc = copy.getParamCalc(); + // this.paramCalc = copy.getParamCalc(); this.pretraitementsGeom = copy.getPretraitementsGeom(); this.rptg = copy.getRptg(); } @@ -226,9 +207,13 @@ * @return the lois */ public List<Loi> getLois() { - return lois; + return scenarioData.getLois(); } + public OrdPrtCIniModeleBase getMethodesInterpolation() { + return methodesInterpolation; + } + public int getNbBranches() { return branches.size(); } @@ -241,18 +226,19 @@ * @return the ordCalc */ public OrdCalcScenario getOrdCalc() { - return ordCalc; + return (OrdCalcScenario) scenarioData.getInfoEMH(EnumInfosEMH.ORD_CALC_SCENARIO); } /** * @return the ordRes */ public OrdResScenario getOrdRes() { - return ordRes; + return (OrdResScenario) scenarioData.getInfoEMH(EnumInfosEMH.ORD_RES_SCENARIO); } public ParamCalcScenario getParamCalc() { - return paramCalc; + return (ParamCalcScenario) scenarioData.getInfoEMH(EnumInfosEMH.PARAM_CALC_SCENARIO); + // return paramCalc; } public ParamNumModeleBase getParamNumModeleBase() { @@ -263,6 +249,20 @@ return pretraitementsGeom; } + /** + * @return the rptg + */ + public List<ResPrtGeo> getRptg() { + return rptg; + } + + /** + * @return the scenarioData + */ + public ManagerEMHScenario getScenarioData() { + return scenarioData; + } + public List<CatEMHSection> getSections() { return sections; } @@ -274,13 +274,6 @@ return sto; } - /** - * @return the rptg - */ - public List<ResPrtGeo> getRptg() { - return rptg; - } - public boolean mergeWithAnotherCrueData(final CrueData data) { if (data.getBranches() != null) { @@ -300,9 +293,9 @@ frottements.addAll(data.getFrottements()); } - if (data.getLois() != null && getLois() != null) { - lois.addAll(data.getLois()); - } + // if (data.getLois() != null && getLois() != null) { + // lois.addAll(data.getLois()); + // } // if (data.getConditionsLim() != null) { // if (conditionsLim == null) { @@ -391,10 +384,18 @@ /** * @param lois the lois to set */ - public void setLois(final List<Loi> lois) { - this.lois = lois; + public void addLois(final List<Loi> lois) { + scenarioData.setLois(lois); } + public DonLoiHYConteneur getLoiConteneur() { + return scenarioData.getLoiConteneur(); + } + + public void setMethodesInterpolation(OrdPrtCIniModeleBase methodesInterpolation) { + this.methodesInterpolation = methodesInterpolation; + } + public void setNoeuds(final List<CatEMHNoeud> noeuds) { this.noeuds = noeuds; } @@ -403,18 +404,20 @@ * @param ordCalc the ordCalc to set */ public void setOrdCalc(final OrdCalcScenario ordCalc) { - this.ordCalc = ordCalc; + scenarioData.addInfos(ordCalc); + // this.ordCalc = ordCalc; } /** * @param ordRes the ordRes to set */ public void setOrdRes(final OrdResScenario ordRes) { - this.ordRes = ordRes; + scenarioData.addInfos(ordRes); } public void setParamCalc(final... [truncated message content] |
From: <car...@us...> - 2009-06-09 17:03:59
|
Revision: 4860 http://fudaa.svn.sourceforge.net/fudaa/?rev=4860&view=rev Author: caroledel Date: 2009-06-09 17:03:53 +0000 (Tue, 09 Jun 2009) Log Message: ----------- DH : test lecture crue 10 + ecriture crue 9 Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOCAL.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPCAL.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPNUM.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDH.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOCAL.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOCAL.java 2009-06-09 13:13:46 UTC (rev 4859) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOCAL.java 2009-06-09 17:03:53 UTC (rev 4860) @@ -77,6 +77,7 @@ } } + dataLinked.setOrdCalc(metier); } return metier; Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPCAL.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPCAL.java 2009-06-09 13:13:46 UTC (rev 4859) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPCAL.java 2009-06-09 17:03:53 UTC (rev 4860) @@ -49,6 +49,10 @@ metier.setVerbosite(dao.Verbosite); } + if (dataLinked != null) { + dataLinked.setParamCalc(metier); + } + return metier; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPNUM.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPNUM.java 2009-06-09 13:13:46 UTC (rev 4859) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPNUM.java 2009-06-09 17:03:53 UTC (rev 4860) @@ -13,7 +13,14 @@ import org.fudaa.dodico.crue.io.dao.CrueDaoStructurePNUM.DaoParamNumCommuns; import org.fudaa.dodico.crue.io.dao.CrueDaoStructurePNUM.DaoPdt; import org.fudaa.dodico.crue.metier.CrueData; -import org.fudaa.dodico.crue.metier.emh.*; +import org.fudaa.dodico.crue.metier.emh.Duration; +import org.fudaa.dodico.crue.metier.emh.ElemPdt; +import org.fudaa.dodico.crue.metier.emh.ParamNumCalcPseudoPerm; +import org.fudaa.dodico.crue.metier.emh.ParamNumCalcTrans; +import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase; +import org.fudaa.dodico.crue.metier.emh.Pdt; +import org.fudaa.dodico.crue.metier.emh.PdtCst; +import org.fudaa.dodico.crue.metier.emh.PdtVar; /** * Classe qui se charge de remplir les structures DAO du fichier PNUM avec les donnees metier et inversement. @@ -34,6 +41,11 @@ metier.zref = dao.ParamNumCommuns.Zref; metier.paramNumCalcPseudoPerm = daoToMetierPseudo(dao); metier.paramNumCalcTrans = daoToMetierTrans(dao); + + if (dataLinked != null) { + dataLinked.setParamNumModeleBase(metier); + } + return metier; } 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 2009-06-09 13:13:46 UTC (rev 4859) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDH.java 2009-06-09 17:03:53 UTC (rev 4860) @@ -9,7 +9,36 @@ import org.fudaa.dodico.crue.io.common.CrueIOResu; import org.fudaa.dodico.crue.io.common.Messages; import org.fudaa.dodico.crue.metier.CrueData; -import org.fudaa.dodico.crue.metier.emh.*; +import org.fudaa.dodico.crue.metier.emh.CalcPseudoPerm; +import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermBrancheOrificeManoeuvre; +import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermNoeudNiveauContinuQapp; +import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermNoeudNiveauContinuZimpose; +import org.fudaa.dodico.crue.metier.emh.CalcTrans; +import org.fudaa.dodico.crue.metier.emh.CalcTransBrancheOrificeManoeuvre; +import org.fudaa.dodico.crue.metier.emh.CalcTransNoeudNiveauContinuQapp; +import org.fudaa.dodico.crue.metier.emh.CalcTransNoeudNiveauContinuTarage; +import org.fudaa.dodico.crue.metier.emh.CatEMHBranche; +import org.fudaa.dodico.crue.metier.emh.CatEMHNoeud; +import org.fudaa.dodico.crue.metier.emh.DonCLimM; +import org.fudaa.dodico.crue.metier.emh.DonCLimMScenario; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrt; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSaintVenant; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSeuilTransversal; +import org.fudaa.dodico.crue.metier.emh.DonPrtCIniBranche; +import org.fudaa.dodico.crue.metier.emh.DonPrtCIniNoeudNiveauContinu; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheSaintVenant; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheSeuilTransversal; +import org.fudaa.dodico.crue.metier.emh.EnumFormulePdc; +import org.fudaa.dodico.crue.metier.emh.EnumSensOuv; +import org.fudaa.dodico.crue.metier.emh.EvolutionFF; +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.ParamCalcScenario; +import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase; +import org.fudaa.dodico.crue.metier.emh.Pdt; +import org.fudaa.dodico.crue.metier.emh.PdtCst; +import org.fudaa.dodico.crue.metier.emh.PtEvolutionFF; import org.fudaa.dodico.crue.metier.helper.EMHBrancheHelper; import org.fudaa.dodico.crue.metier.helper.EMHHelper; import org.fudaa.dodico.crue.metier.helper.EMHNoeudHelper; @@ -23,6 +52,13 @@ public class TestCrueDH extends AbstractTestCase { protected static final String FICHIER_TEST_MODELE3_DH = "/fichierTest/Modele3.dh"; + protected static final String FICHIER_TEST_MODELE3_DCSP = "/fichierTest/Modele3.dcsp.xml"; + protected static final String FICHIER_TEST_MODELE3_OCAL = "/fichierTest/Modele3.ocal.xml"; + protected static final String FICHIER_TEST_MODELE3_PCAL = "/fichierTest/Modele3.pcal.xml"; + protected static final String FICHIER_TEST_MODELE3_PNUM = "/fichierTest/Modele3.pnum.xml"; + protected static final String FICHIER_TEST_MODELE3_DPTI = "/fichierTest/Modele3.dpti.xml"; + protected static final String FICHIER_TEST_MODELE3_DLHY = "/fichierTest/Modele3.dlhy.xml"; + protected static final String FICHIER_TEST_MODELE3_DCLM = "/fichierTest/Modele3.dclm.xml"; /** * Test de lecture @@ -66,30 +102,48 @@ } /** - * Test cycle de lecture/ecriture/lecture (+ verif donnees) du modele 3 + * Test lecture des fichiers crue 10 du modele 3 et ecriture du fichier DH correspondant */ - public void testLectureEcritureLectureCRUE9Modele3() { + public void testLectureFichiersCrue10etEcritureCrue9() { - final CtuluAnalyze analyzer = new CtuluAnalyze(); - // -- lecture --// - final TestCrueDC testDC = new TestCrueDC(); - CrueData data = testDC.testLectureFichierDC("/fichierTest/Modele3.dc"); - final CrueIOResu<CrueData> res = Crue9FileFormatFactory.getDHFileFormat().read(FICHIER_TEST_MODELE3_DH, analyzer, - data); + final CtuluAnalyze analyzer = new CtuluAnalyze(Messages.RESOURCE_BUNDLE); + // -- lecture DRSO --// + final CrueData data = Crue10FileFormatFactory.getDRSOFileFormat().read( + TestCrueDRSOFile.FICHIER_TEST_MODELE3_DRSO_XML, analyzer, null); testAnalyser(analyzer); - // -- ecriture --// - final File f = createTemptxtFile("modele3"); - writeModeleCrue9(analyzer, f, res.getMetier()); + // -- lecture DCSP --// + Crue10FileFormatFactory.getDCSPFileFormat().read(FICHIER_TEST_MODELE3_DCSP, analyzer, data); testAnalyser(analyzer); - // -- lecture --// - data = testDC.testLectureFichierDC("/fichierTest/Modele3.dc"); - final CrueIOResu<CrueData> res2 = Crue9FileFormatFactory.getDHFileFormat().read(f, analyzer, data); + // -- lecture PCAL --// + Crue10FileFormatFactory.getPCALFileFormat().read(FICHIER_TEST_MODELE3_PCAL, analyzer, data); testAnalyser(analyzer); - testData(res2.getMetier(), true); + // -- lecture DPTI --// + Crue10FileFormatFactory.getDPTIFileFormat().read(FICHIER_TEST_MODELE3_DPTI, analyzer, data); + testAnalyser(analyzer); + // -- lecture PNUM --// + Crue10FileFormatFactory.getPNUMFileFormat().read(FICHIER_TEST_MODELE3_PNUM, analyzer, data); + testAnalyser(analyzer); + + // -- lecture DLHY --// + Crue10FileFormatFactory.getDLHYFileFormat().read(FICHIER_TEST_MODELE3_DLHY, analyzer, data); + testAnalyser(analyzer); + + // -- lecture DCLM --// + Crue10FileFormatFactory.getDCLMFileFormat().read(FICHIER_TEST_MODELE3_DCLM, analyzer, data); + testAnalyser(analyzer); + + // -- lecture OCAL --// + Crue10FileFormatFactory.getOCALFileFormat().read(FICHIER_TEST_MODELE3_OCAL, analyzer, data); + testAnalyser(analyzer); + + // -- ecriture DH (crue9) --// + final File f = createTemptxtFile("modele3"); + writeModeleCrue9(analyzer, f, data); + testAnalyser(analyzer); } /** Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java 2009-06-09 13:13:46 UTC (rev 4859) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java 2009-06-09 17:03:53 UTC (rev 4860) @@ -16,10 +16,6 @@ import javax.swing.SwingUtilities; import javax.swing.UIManager; -import com.memoire.bu.*; -import com.memoire.fu.FuLib; -import com.memoire.fu.FuLog; - import org.fudaa.ctulu.gui.CtuluTaskOperationGUI; import org.fudaa.dodico.crue.io.CrueFileFormatManager; import org.fudaa.fudaa.commun.FudaaLib; @@ -28,6 +24,17 @@ import org.fudaa.fudaa.crue.common.CrueEditorImplementation; import org.fudaa.fudaa.ressource.FudaaResource; +import com.memoire.bu.BuApplication; +import com.memoire.bu.BuCommonInterface; +import com.memoire.bu.BuIcon; +import com.memoire.bu.BuInformationsSoftware; +import com.memoire.bu.BuLib; +import com.memoire.bu.BuPreferences; +import com.memoire.bu.BuRegistry; +import com.memoire.bu.BuResource; +import com.memoire.fu.FuLib; +import com.memoire.fu.FuLog; + /** * Launcher de crue. * @@ -86,7 +93,7 @@ // infoCrue_.logo = new BuIcon(pathLogo); infoCrue_.name = "Fudaa-Crue"; infoCrue_.version = "0.1"; - infoCrue_.date = "29-mai -2009"; + infoCrue_.date = "29-mai-2009"; infoCrue_.rights = ""; infoCrue_.contact = "fu...@ge..."; infoCrue_.license = "GPL2"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2009-06-27 19:59:35
|
Revision: 4891 http://fudaa.svn.sourceforge.net/fudaa/?rev=4891&view=rev Author: deniger Date: 2009-06-27 19:57:53 +0000 (Sat, 27 Jun 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CrueFileFormatManager.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFormatVersionInterface.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueData.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/common/Messages.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCSP.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDFRT.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDLHY.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTG.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOCAL.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTG.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterORES.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPCAL.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPNUM.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCLM.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDFRT.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDLHY.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTG.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDRSO.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureETU.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOCAL.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureORES.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructurePCAL.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructurePNUM.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueHelper.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrueManager.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerContrat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHContainer.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHContainerBase.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHModeleBase.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHSousModele.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/EMHHelper.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ProjetMessages.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/projet/projetMessages.properties trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/ctulu/ExampleCtuluDefaultLogFormatter.java 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/TestCrueDCLMFile.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/TestCrueDFRTFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDH.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDLHYFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDPTGFile.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/io/TestCrueETUFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOCALFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOPTGFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOPTIFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueORESFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCruePCALFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCruePNUMFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueValidationModele.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueEditorImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoaderUI.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/messages.properties Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueMessageHelper.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileType.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue10.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 Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueConstants.java Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -146,9 +146,9 @@ * @param _m * @param arg */ - public void addFatalError(final String _m, final Object arg) { + public void addFatalError(final String _m, final Object... arg) { // TODO a continuer - addError(_m); + addError(_m, arg); } /** Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueMessageHelper.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueMessageHelper.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueMessageHelper.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -0,0 +1,29 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.common; + +import java.text.MessageFormat; +import java.util.ResourceBundle; + +import org.fudaa.ctulu.CtuluLibArray; + +/** + * @author deniger + */ +public final class CrueMessageHelper { + + /** + * @param bundle + * @param s le message initial + * @param args les arguements a utiliser pour le message + * @return la chaine traduite + */ + public static String getS(ResourceBundle bundle, final String s, Object... args) { + String res = bundle.getString(s); + if (!CtuluLibArray.isEmpty(args)) { return new MessageFormat(res).format(args); } + return res; + } + +} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -87,7 +87,7 @@ return source; } - public boolean write(final CrueIOResu<CrueData> metier, final File f, final CtuluAnalyze analyzer) { + public boolean writeMetier(final CrueIOResu<CrueData> metier, final File f, final CtuluAnalyze analyzer) { analyzer.setDesc(f.getName()); final AbstractCrue9Writer writer = createWriter(); writer.setFile(f); @@ -99,8 +99,16 @@ return (ok && (operation.containsClosingError() || operation.containsFatalError())); } - public boolean write(final OutputStream out, final CrueIOResu<CrueData> metier, final CtuluAnalyze analyser) { + public boolean writeMetier(final CrueIOResu<CrueData> metier, final OutputStream out, final CtuluAnalyze analyser) { throw new IllegalAccessError("Must be done"); } + public boolean write(CrueData metier, File f, CtuluAnalyze analyzer) { + return writeMetier(new CrueIOResu<CrueData>(metier), f, analyzer); + } + + public boolean write(CrueData metier, OutputStream out, CtuluAnalyze analyser) { + return writeMetier(new CrueIOResu<CrueData>(metier), out, analyser); + } + } \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -79,12 +79,20 @@ throw new IllegalArgumentException("Not supported"); } - public boolean write(CrueIOResu<M> metier, File f, CtuluAnalyze analyzer) { + public boolean writeMetier(CrueIOResu<M> metier, File f, CtuluAnalyze analyzer) { throw new IllegalArgumentException("Not supported"); } - public boolean write(OutputStream out, CrueIOResu<M> metier, CtuluAnalyze analyser) { + public boolean write(CrueData metier, File f, CtuluAnalyze analyzer) { throw new IllegalArgumentException("Not supported"); } + public boolean write(CrueData metier, OutputStream out, CtuluAnalyze analyser) { + throw new IllegalArgumentException("Not supported"); + } + + public boolean writeMetier(CrueIOResu<M> metier, OutputStream out, CtuluAnalyze analyser) { + throw new IllegalArgumentException("Not supported"); + } + } \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -3,6 +3,7 @@ import java.io.File; import java.io.OutputStream; import java.net.URL; +import java.util.Map; import com.memoire.bu.BuFileFilter; @@ -10,6 +11,7 @@ import org.fudaa.ctulu.fileformat.FileReadOperationAbstract; import org.fudaa.ctulu.fileformat.FileWriteOperationAbstract; import org.fudaa.dodico.crue.io.common.CrueData; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.dao.CrueXmlReaderWriter; /** @@ -27,8 +29,9 @@ /** * @param type le type en Upper case comme par exemple DFRT. */ - protected Crue10FileFormat(final CrueXmlReaderWriter<M> readerWriter) { - this(readerWriter.getXsdId(), readerWriter); + protected Crue10FileFormat(final CrueXmlReaderWriter<M> readerWriter, final Map<CrueFileType, Crue10FileFormat> saver) { + this(readerWriter.getFileType(), readerWriter, saver); + } @SuppressWarnings("serial") @@ -52,14 +55,21 @@ /** * @param type le type en Upper case comme par exemple DFRT. */ - protected Crue10FileFormat(final String type, final CrueXmlReaderWriter<M> readerWriter) { + protected Crue10FileFormat(final CrueFileType type, final CrueXmlReaderWriter<M> readerWriter, + final Map<CrueFileType, Crue10FileFormat> saver) { super(1); this.readerWriter = readerWriter; - nom = type.toLowerCase(); + nom = type.toString().toLowerCase(); id = nom; extensions = new String[] { nom + ".xml" }; description = nom + ".file"; + } + /** + * @return type du fichier supporte. + */ + public CrueFileType getFileType() { + return readerWriter.getFileType(); } /** @@ -189,18 +199,28 @@ * @param analyzer * @return true si l'écriture s'est bien passée */ - public final boolean write(final M metier, final File f, final CtuluAnalyze analyzer) { + public final boolean write(final CrueData metier, final File f, final CtuluAnalyze analyzer) { return readerWriter.writeXML(metier, f, analyzer); } + public boolean write(final CrueData metier, final OutputStream out, final CtuluAnalyze analyser) { + return readerWriter.writeXML(metier, out, analyser); + } + + public boolean writeMetier(final M metier, final OutputStream out, final CtuluAnalyze analyser) { + return readerWriter.writeXMLMetier(metier, out, analyser); + } + /** - * @param out le flux de sortie qui ne sera pas ferme - * @param metier l'objet metier - * @param analyser - * @return true si reussite + * Méthode qui permet d'écrire les datas dans le fichier f spécifié. + * + * @param metier + * @param f + * @param analyzer + * @return true si l'écriture s'est bien passée */ - public boolean write(final OutputStream out, final M metier, final CtuluAnalyze analyser) { - return readerWriter.writeXML(out, metier, analyser); + public final boolean writeMetier(final M metier, final File f, final CtuluAnalyze analyzer) { + return readerWriter.writeXMLMetier(metier, f, analyzer); } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -1,9 +1,11 @@ package org.fudaa.dodico.crue.io; +import java.util.HashMap; import java.util.List; +import java.util.Map; -import org.fudaa.dodico.crue.io.common.CrueConstants; import org.fudaa.dodico.crue.io.common.CrueData; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.dao.*; import org.fudaa.dodico.crue.metier.EMHproject; import org.fudaa.dodico.crue.metier.emh.*; @@ -13,166 +15,185 @@ * * @author Adrien Hadoux */ -public class Crue10FileFormatFactory { +public final class Crue10FileFormatFactory { - private final static Crue10FileFormat<CrueData> DCSP = new Crue10FileFormat<CrueData>( - new CrueXmlReaderWriterImpl<CrueDaoDCSP, CrueData>(CrueConstants.DCSP, new CrueConverterDCSP(), - new CrueDaoStructureDCSP())); + private final Map<CrueFileType, Crue10FileFormat> fnts = new HashMap<CrueFileType, Crue10FileFormat>(); - private final static Crue10FileFormat<List<DonFrt>> DFRT = new Crue10FileFormat<List<DonFrt>>( - new CrueXmlReaderWriterImpl<CrueDaoDFRT, List<DonFrt>>(CrueConstants.DFRT, new CrueConverterDFRT(), - new CrueDaoStructureDFRT())); + private final Crue10FileFormat<CrueData> dcsp = new Crue10FileFormat<CrueData>( + new CrueXmlReaderWriterImpl<CrueDaoDCSP, CrueData>(CrueFileType.DCSP, new CrueConverterDCSP(), + new CrueDaoStructureDCSP()), fnts); - private final static Crue10FileFormat<List<Loi>> DLHY = new Crue10FileFormat<List<Loi>>( - new CrueXmlReaderWriterImpl<CrueDaoDLHY, List<Loi>>(CrueConstants.DLHY, new CrueConverterDLHY(), - new CrueDaoStructureDLHY())); + private final Crue10FileFormat<List<DonFrt>> dfrt = new Crue10FileFormat<List<DonFrt>>( + new CrueXmlReaderWriterImpl<CrueDaoDFRT, List<DonFrt>>(CrueFileType.DFRT, new CrueConverterDFRT(), + new CrueDaoStructureDFRT()), fnts); - private final static Crue10FileFormat<CrueData> DPTG = new Crue10FileFormat<CrueData>( - new CrueXmlReaderWriterImpl<CrueDaoDPTG, CrueData>(CrueConstants.DPTG, new CrueConverterDPTG(), - new CrueDaoStructureDPTG())); + private final Crue10FileFormat<List<Loi>> dlhy = new Crue10FileFormat<List<Loi>>( + new CrueXmlReaderWriterImpl<CrueDaoDLHY, List<Loi>>(CrueFileType.DLHY, new CrueConverterDLHY(), + new CrueDaoStructureDLHY()), fnts); - private final static Crue10FileFormat<CrueData> DPTI = new Crue10FileFormat<CrueData>( - new CrueXmlReaderWriterImpl<CrueDaoDPTI, CrueData>(CrueConstants.DPTI, new CrueConverterDPTI(), - new CrueDaoStructureDPTI())); + private final Crue10FileFormat<CrueData> dptg = new Crue10FileFormat<CrueData>( + new CrueXmlReaderWriterImpl<CrueDaoDPTG, CrueData>(CrueFileType.DPTG, new CrueConverterDPTG(), + new CrueDaoStructureDPTG()), fnts); - private final static Crue10FileFormat<CrueData> DRSO = new Crue10FileFormat<CrueData>( - new CrueXmlReaderWriterImpl<CrueDaoDRSO, CrueData>(CrueConstants.DRSO, new CrueConverterDRSO(), - new CrueDaoStructureDRSO())); + private final Crue10FileFormat<CrueData> dpti = new Crue10FileFormat<CrueData>( + new CrueXmlReaderWriterImpl<CrueDaoDPTI, CrueData>(CrueFileType.DPTI, new CrueConverterDPTI(), + new CrueDaoStructureDPTI()), fnts); - private final static Crue10FileFormat<EMHproject> ETU = new Crue10FileFormat<EMHproject>(CrueConstants.ETU, - new CrueXmlReaderWriterImpl<CrueDaoETU, EMHproject>(CrueConstants.ETU, new CrueConverterETU(), - new CrueDaoStructureETU())); + private final Crue10FileFormat<CrueData> drso = new Crue10FileFormat<CrueData>( + new CrueXmlReaderWriterImpl<CrueDaoDRSO, CrueData>(CrueFileType.DRSO, new CrueConverterDRSO(), + new CrueDaoStructureDRSO()), fnts); - private final static Crue10FileFormat<OrdPrtGeoModeleBase> OPTG = new Crue10FileFormat<OrdPrtGeoModeleBase>( - new CrueXmlReaderWriterImpl<CrueDaoOPTG, OrdPrtGeoModeleBase>(CrueConstants.OPTG, new CrueConverterOPTG(), - new CrueDaoStructureOPTG())); + private final Crue10FileFormat<EMHproject> etu = new Crue10FileFormat<EMHproject>( + new CrueXmlReaderWriterImpl<CrueDaoETU, EMHproject>(CrueFileType.ETU, new CrueConverterETU(), + new CrueDaoStructureETU()), fnts); - private final static Crue10FileFormat<DonCLimMScenario> DCLM = new Crue10FileFormat<DonCLimMScenario>( - new CrueXmlReaderWriterImpl<CrueDaoDCLM, DonCLimMScenario>(CrueConstants.DCLM, new CrueConverterDCLM(), - new CrueDaoStructureDCLM())); + private final Crue10FileFormat<OrdPrtGeoModeleBase> optg = new Crue10FileFormat<OrdPrtGeoModeleBase>( + new CrueXmlReaderWriterImpl<CrueDaoOPTG, OrdPrtGeoModeleBase>(CrueFileType.OPTG, new CrueConverterOPTG(), + new CrueDaoStructureOPTG()), fnts); - private final static Crue10FileFormat<OrdResScenario> ORES = new Crue10FileFormat<OrdResScenario>( - new CrueXmlReaderWriterImpl<CrueDaoORES, OrdResScenario>(CrueConstants.ORES, new CrueConverterORES(), - new CrueDaoStructureORES())); + private final Crue10FileFormat<DonCLimMScenario> dclm = new Crue10FileFormat<DonCLimMScenario>( + new CrueXmlReaderWriterImpl<CrueDaoDCLM, DonCLimMScenario>(CrueFileType.DCLM, new CrueConverterDCLM(), + new CrueDaoStructureDCLM()), fnts); - private final static Crue10FileFormat<OrdCalcScenario> OCAL = new Crue10FileFormat<OrdCalcScenario>( - new CrueXmlReaderWriterImpl<CrueDaoOCAL, OrdCalcScenario>(CrueConstants.OCAL, new CrueConverterOCAL(), - new CrueDaoStructureOCAL())); + private final Crue10FileFormat<OrdResScenario> ores = new Crue10FileFormat<OrdResScenario>( + new CrueXmlReaderWriterImpl<CrueDaoORES, OrdResScenario>(CrueFileType.ORES, new CrueConverterORES(), + new CrueDaoStructureORES()), fnts); - private final static Crue10FileFormat<ParamCalcScenario> PCAL = new Crue10FileFormat<ParamCalcScenario>( - new CrueXmlReaderWriterImpl<CrueDaoPCAL, ParamCalcScenario>(CrueConstants.PCAL, new CrueConverterPCAL(), - new CrueDaoStructurePCAL())); + private final Crue10FileFormat<OrdCalcScenario> ocal = new Crue10FileFormat<OrdCalcScenario>( + new CrueXmlReaderWriterImpl<CrueDaoOCAL, OrdCalcScenario>(CrueFileType.OCAL, new CrueConverterOCAL(), + new CrueDaoStructureOCAL()), fnts); - private final static Crue10FileFormat<ParamNumModeleBase> PNUM = new Crue10FileFormat<ParamNumModeleBase>( - new CrueXmlReaderWriterImpl<CrueDaoPNUM, ParamNumModeleBase>(CrueConstants.PNUM, new CrueConverterPNUM(), - new CrueDaoStructurePNUM())); + private final Crue10FileFormat<ParamCalcScenario> pcal = new Crue10FileFormat<ParamCalcScenario>( + new CrueXmlReaderWriterImpl<CrueDaoPCAL, ParamCalcScenario>(CrueFileType.PCAL, new CrueConverterPCAL(), + new CrueDaoStructurePCAL()), fnts); - private final static Crue10FileFormat<OrdPrtCIniModeleBase> OPTI = new Crue10FileFormat<OrdPrtCIniModeleBase>( - new CrueXmlReaderWriterImpl<CrueDaoOPTI, OrdPrtCIniModeleBase>(CrueConstants.OPTI, new CrueConverterOPTI(), - new CrueDaoStructureOPTI())); + private final Crue10FileFormat<ParamNumModeleBase> pnum = new Crue10FileFormat<ParamNumModeleBase>( + new CrueXmlReaderWriterImpl<CrueDaoPNUM, ParamNumModeleBase>(CrueFileType.PNUM, new CrueConverterPNUM(), + new CrueDaoStructurePNUM()), fnts); - static { - Crue10FileFormatFactory.DRSO.setIndependant(true); - ETU.setIndependant(true); - OPTG.setIndependant(true); + private final Crue10FileFormat<OrdPrtCIniModeleBase> opti = new Crue10FileFormat<OrdPrtCIniModeleBase>( + new CrueXmlReaderWriterImpl<CrueDaoOPTI, OrdPrtCIniModeleBase>(CrueFileType.OPTI, new CrueConverterOPTI(), + new CrueDaoStructureOPTI()), fnts); + + private static final Crue10FileFormatFactory INSTANCE = new Crue10FileFormatFactory(); + + /** + * @return le singleton + */ + public static final Crue10FileFormatFactory getInstance() { + return INSTANCE; } + private Crue10FileFormatFactory() { + drso.setIndependant(true); + etu.setIndependant(true); + optg.setIndependant(true); + } + /** + * @param type le type voulu + * @return le fileformat correspondant + */ + public Crue10FileFormat getFileFormat(final CrueFileType type) { + return fnts.get(type); + } + + /** * @return DCSP : objet CrueFileFormat qui contient le DAO et le métier de DCSP */ - public static Crue10FileFormat<CrueData> getDCSPFileFormat() { - return DCSP; + public Crue10FileFormat<CrueData> getDCSP() { + return dcsp; } /** * @return DFRT : objet CrueFileFormat qui contient le DAO et le métier de DFRT */ - public static Crue10FileFormat<List<DonFrt>> getDFRTFileFormat() { - return DFRT; + public Crue10FileFormat<List<DonFrt>> getDFRT() { + return dfrt; } /** * @return DLHY : objet CrueFileFormat qui contient le DAO et le métier de DLHY */ - public static Crue10FileFormat<List<Loi>> getDLHYFileFormat() { - return DLHY; + public Crue10FileFormat<List<Loi>> getDLHY() { + return dlhy; } /** * @return DCLM : objet CrueFileFormat qui contient le DAO et le métier de DCLM */ - public static Crue10FileFormat<DonCLimMScenario> getDCLMFileFormat() { - return DCLM; + public Crue10FileFormat<DonCLimMScenario> getDCLM() { + return dclm; } /** * @return ORES : objet CrueFileFormat qui contient le DAO et le métier de ORES */ - public static Crue10FileFormat<OrdResScenario> getORESFileFormat() { - return ORES; + public Crue10FileFormat<OrdResScenario> getORES() { + return ores; } /** * @return DPTG : objet CrueFileFormat qui contient le DAO et le métier de DPTG */ - public static Crue10FileFormat<CrueData> getDPTGFileFormat() { - return DPTG; + public Crue10FileFormat<CrueData> getDPTG() { + return dptg; } /** * @return DPTI : objet CrueFileFormat qui contient le DAO et le métier de DPTI */ - public static Crue10FileFormat<CrueData> getDPTIFileFormat() { - return DPTI; + public Crue10FileFormat<CrueData> getDPTI() { + return dpti; } /** * @return DRSO : objet CrueFileFormat qui contient le DAO et le métier de DRSO */ - public static Crue10FileFormat<CrueData> getDRSOFileFormat() { - return DRSO; + public Crue10FileFormat<CrueData> getDRSO() { + return drso; } /** * @return ETU : objet CrueFileFormat qui contient le DAO et le métier de ETU */ - public static Crue10FileFormat<EMHproject> getETUFileFormat() { - return ETU; + public Crue10FileFormat<EMHproject> getETU() { + return etu; } /** * @return OPTG : objet CrueFileFormat qui contient le DAO et le métier de OPTG */ - public static Crue10FileFormat<OrdPrtGeoModeleBase> getOPTGFileFormat() { - return OPTG; + public Crue10FileFormat<OrdPrtGeoModeleBase> getOPTG() { + return optg; } /** * @return OCAL : objet CrueFileFormat qui contient le DAO et le métier de OCAL */ - public static Crue10FileFormat<OrdCalcScenario> getOCALFileFormat() { - return OCAL; + public Crue10FileFormat<OrdCalcScenario> getOCAL() { + return ocal; } /** * @return OPTI : objet CrueFileFormat qui contient le DAO et le métier de OPTI */ - public static Crue10FileFormat<OrdPrtCIniModeleBase> getOPTIFileFormat() { - return OPTI; + public Crue10FileFormat<OrdPrtCIniModeleBase> getOPTI() { + return opti; } /** * @return PCAL : objet CrueFileFormat qui contient le DAO et le métier de PCAL */ - public static Crue10FileFormat<ParamCalcScenario> getPCALFileFormat() { - return PCAL; + public Crue10FileFormat<ParamCalcScenario> getPCAL() { + return pcal; } /** * @return PNUM : objet CrueFileFormat qui contient le DAO et le métier de PNUM */ - public static Crue10FileFormat<ParamNumModeleBase> getPNUMFileFormat() { - return PNUM; + public Crue10FileFormat<ParamNumModeleBase> getPNUM() { + return pnum; } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CrueFileFormatManager.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CrueFileFormatManager.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CrueFileFormatManager.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -24,7 +24,7 @@ final List<CustomFileFormat> r = new ArrayList<CustomFileFormat>(); // -- format du fichier ETU --// - r.add(Crue10FileFormatFactory.getETUFileFormat()); + r.add(Crue10FileFormatFactory.getInstance().getETU()); return r.toArray(new CustomFileFormat[r.size()]); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFormatVersionInterface.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFormatVersionInterface.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFormatVersionInterface.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -69,13 +69,31 @@ * @param analyzer Conteneur des messages d'erreurs * @return true si l'écriture du fichier s'est bien passée */ - boolean write(final M metier, final File f, final CtuluAnalyze analyzer); + boolean write(final CrueData metier, final File f, final CtuluAnalyze analyzer); /** + * @param data l'objet metier * @param out le flux de sortie qui ne sera pas ferme + * @param analyser Conteneur des messages d'erreurs + * @return true si reussite + */ + boolean write(final CrueData data, final OutputStream out, final CtuluAnalyze analyser); + + /** + * Méthode qui permet d'écrire les datas dans le fichier f spécifié. + * * @param metier l'objet metier + * @param f Fichier à écrire + * @param analyzer Conteneur des messages d'erreurs + * @return true si l'écriture du fichier s'est bien passée + */ + boolean writeMetier(final M metier, final File f, final CtuluAnalyze analyzer); + + /** + * @param metier l'objet metier + * @param out le flux de sortie qui ne sera pas ferme * @param analyser Conteneur des messages d'erreurs * @return true si reussite */ - boolean write(final OutputStream out, final M metier, final CtuluAnalyze analyser); + boolean writeMetier(final M metier, final OutputStream out, final CtuluAnalyze analyser); } \ No newline at end of file Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueConstants.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueConstants.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueConstants.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -1,36 +0,0 @@ -/** - * Licence GPL - * Copyright Genesis - */ -package org.fudaa.dodico.crue.io.common; - -/** - * @author deniger - * - */ -public class CrueConstants { - - // -- listing des diff�rents fichiers et leur noms utilisés --// - public final static String ETU = "ETU"; //$NON-NLS-1$ - public final static String DRSO = "DRSO"; //$NON-NLS-1$ - public final static String ORES = "ORES"; //$NON-NLS-1$ - public final static String OCAL = "OCAL"; //$NON-NLS-1$ - public final static String PCAL = "PCAL"; //$NON-NLS-1$ - public final static String DCLM = "DCLM"; //$NON-NLS-1$ - public final static String DLHY = "DLHY"; //$NON-NLS-1$ - public final static String OPTR = "OPTR"; //$NON-NLS-1$ - public final static String OPTG = "OPTG"; //$NON-NLS-1$ - public final static String OPTI = "OPTI"; //$NON-NLS-1$ - public final static String PNUM = "PNUM"; //$NON-NLS-1$ - public final static String DPTI = "DPTI"; //$NON-NLS-1$ - public final static String DCSP = "DCSP"; //$NON-NLS-1$ - public final static String DPTG = "DPTG"; //$NON-NLS-1$ - public final static String DFRT = "DFRT"; //$NON-NLS-1$ - public final static String DC = "DC"; //$NON-NLS-1$ - public final static String DH = "DH"; //$NON-NLS-1$ - public final static String RPTR = "RPTR"; //$NON-NLS-1$ - public final static String RPTG = "RPTG"; //$NON-NLS-1$ - public final static String RPTI = "RPTI"; //$NON-NLS-1$ - public final static String RCAL = "RCAL"; //$NON-NLS-1$ - -} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueData.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueData.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueData.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -23,6 +23,8 @@ EMHScenario getScenarioData(); + EMHModeleBase getModele(); + public Calc findCalcByNom(String nom); /** 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-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueDataImpl.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -17,19 +17,21 @@ */ public class CrueDataImpl implements CrueData { - private final Map<String, DonPrtGeoBatiCasier> idBatiCasierUse = new HashMap<String, DonPrtGeoBatiCasier>(50); + /** + * @param sc le conteneur + * @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); + if (fils.size() > 1) { return null; } + final EMHModeleBase base = fils.get(0); + return new CrueDataImpl(sc, base, base.getConcatSousModele()); - private final Map<String, DonPrtGeoProfilCasier> idProfilCasierUse = new HashMap<String, DonPrtGeoProfilCasier>(50); + } - private final Map<String, DonPrtGeoProfilSection> idProfilSectionUse = new HashMap<String, DonPrtGeoProfilSection>(50); + public static CrueData buildConcatFor(final EMHScenario sc, final EMHModeleBase conteneur) { + return new CrueDataImpl(sc, conteneur, conteneur.getConcatSousModele()); - List<ResPrtGeo> rptg; - - public CrueDataImpl(final EMHScenario scenarioData, final EMHModeleBase modele, final EMHSousModele ssModele) { - super(); - this.scenarioData = scenarioData; - this.ssModele = ssModele; - this.modele = modele; } /** @@ -49,31 +51,24 @@ } - /** - * @param sc le conteneur - * @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); - if (fils.size() > 1) { return null; } - final EMHModeleBase base = fils.get(0); - return new CrueDataImpl(sc, base, base.getConcatSousModele()); + private final Map<String, DonPrtGeoBatiCasier> idBatiCasierUse = new HashMap<String, DonPrtGeoBatiCasier>(50); - } + private final Map<String, EMH> idEMH = new HashMap<String, EMH>(); - public static CrueData buildConcatFor(final EMHScenario sc, final EMHModeleBase conteneur) { - return new CrueDataImpl(sc, conteneur, conteneur.getConcatSousModele()); + private final Map<String, DonPrtGeoProfilCasier> idProfilCasierUse = new HashMap<String, DonPrtGeoProfilCasier>(50); - } + private final Map<String, DonPrtGeoProfilSection> idProfilSectionUse = new HashMap<String, DonPrtGeoProfilSection>(50); + private final EMHModeleBase modele; + + private List<ResPrtGeo> rptg; + private final EMHScenario scenarioData; private final EMHSousModele ssModele; - private final EMHModeleBase modele; - /** * Données STO */ - STOSequentialReader sto; + private STOSequentialReader sto; public CrueDataImpl() { scenarioData = new EMHScenario(); @@ -81,7 +76,12 @@ modele = new EMHModeleBase(); } - Map<String, EMH> idEMH = new HashMap<String, EMH>(); + public CrueDataImpl(final EMHScenario scenarioData, final EMHModeleBase modele, final EMHSousModele ssModele) { + super(); + this.scenarioData = scenarioData; + this.ssModele = ssModele; + this.modele = modele; + } /** * Ajoute automatiquement l'objet emh dans la bonne structure. @@ -145,18 +145,6 @@ return listeTotale; } - public EMHSousModele getSousModele() { - return ssModele; - } - - public List<CatEMHSection> getSections() { - return EMHHelper.getEMHInRelationEMHContient(ssModele, EnumTypeEMH.SECTION); - } - - public List<CatEMHNoeud> getNoeuds() { - return EMHHelper.getEMHInRelationEMHContient(ssModele, EnumTypeEMH.NOEUD); - } - public List<CatEMHBranche> getBranches() { return EMHHelper.getEMHInRelationEMHContient(ssModele, EnumTypeEMH.BRANCHE); } @@ -191,6 +179,14 @@ return (OrdPrtCIniModeleBase) EMHHelper.getInfoEMH(modele, EnumInfosEMH.ORD_PRT_CINI_MODELE_BASE); } + public EMHModeleBase getModele() { + return modele; + } + + public List<CatEMHNoeud> getNoeuds() { + return EMHHelper.getEMHInRelationEMHContient(ssModele, EnumTypeEMH.NOEUD); + } + /** * @return the ordCalc */ @@ -232,6 +228,14 @@ return scenarioData; } + public List<CatEMHSection> getSections() { + return EMHHelper.getEMHInRelationEMHContient(ssModele, EnumTypeEMH.SECTION); + } + + public EMHSousModele getSousModele() { + return ssModele; + } + /** * @return the sto */ Copied: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileType.java (from rev 4839, trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueConstants.java) =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileType.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileType.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -0,0 +1,14 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.io.common; + +/** + * @author deniger + */ +public enum CrueFileType { + + ETU, DRSO, ORES, OCAL, PCAL, DCLM, DLHY, OPTR, OPTG, OPTI, PNUM, DPTI, DCSP, DPTG, DFRT, DC, DH, RPTR, RPTG, RPTI, RCAL + +} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -4,63 +4,14 @@ */ package org.fudaa.dodico.crue.io.common; -import java.util.*; +import java.util.ResourceBundle; /** * @author deniger */ public final class Messages { - // ATTENTION: tricky - // pour éviter que tout le monde tape dans les mêmes fichiers de propriétés, plusieurs ont été créés - // ils seront mergés par la suite - // en les créant de la sorte, ALL_RESOURCE_BUNDLE et le parent de DC_RESOURCE qui est le parent de RESOURCE_BUNDLE - private static final ResourceBundle ALL_RESOURCE_BUNDLE = ResourceBundle - .getBundle("org.fudaa.dodico.crue.io.ioMessages"); - // private static final ResourceBundle DC_RESOURCE_BUNDLE = ResourceBundle - // .getBundle("org.fudaa.dodico.crue.io.adrienMessages"); - // private static final ResourceBundle DH_RESOURCE_BUNDLE = ResourceBundle - // .getBundle("org.fudaa.dodico.crue.io.caroleMessages"); - // /** ResourceBundle regroupant tous les ResourceBundle définis par des fichiers properties distincts */ - // public static final ResourceBundle RESOURCE_BUNDLE = new TempResourceBundle(ALL_RESOURCE_BUNDLE, - // DC_RESOURCE_BUNDLE, - // DH_RESOURCE_BUNDLE); - public static final ResourceBundle RESOURCE_BUNDLE = ALL_RESOURCE_BUNDLE; + public static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle("org.fudaa.dodico.crue.io.ioMessages"); - protected static class TempResourceBundle extends ResourceBundle { - - final Collection<ResourceBundle> bundles; - - public TempResourceBundle(final ResourceBundle... bundles) { - super(); - this.bundles = Arrays.asList(bundles); - } - - @Override - public Enumeration<String> getKeys() { - final List<String> res = new ArrayList<String>(); - for (final ResourceBundle it : bundles) { - res.addAll(Collections.list(it.getKeys())); - } - return Collections.enumeration(res); - } - - @Override - protected Object handleGetObject(final String key) { - for (final ResourceBundle it : bundles) { - Object res; - try { - res = it.getObject(key); - if (res != null) { return res; } - } catch (final Exception e) { - // c'est pas grave si on ne trouve pas... - - } - - } - return null; - } - } - private Messages() {} } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverter.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverter.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverter.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -23,10 +23,15 @@ * @param dataLinked * @return l'objet metier */ - // CrueIOData<M> convertDaoToMetier(D dao, Object dataLinked, CtuluAnalyze analyser); M convertDaoToMetier(D dao, CrueData dataLinked, CtuluAnalyze analyser); /** + * @param in les données + * @return les données gérées par ce converter + */ + M getConverterData(CrueData in); + + /** * Crée une structure métier à partir des informations persistantes. Utiliser pour le remplissage de la structure * métier apr�s lecture du fichier xml. Utilise en plus des données liées. * Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -65,6 +65,10 @@ return donnees; } + public DonCLimMScenario getConverterData(CrueData in) { + return in.getConditionsLim(); + } + /** * Convertit les objets métier en objets persistants */ 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-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCSP.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -6,8 +6,8 @@ import org.apache.commons.collections.CollectionUtils; import org.fudaa.ctulu.CtuluAnalyze; -import org.fudaa.dodico.crue.io.common.CrueConstants; import org.fudaa.dodico.crue.io.common.CrueData; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.*; import org.fudaa.dodico.crue.metier.emh.*; @@ -35,6 +35,10 @@ return dataLinked; } + public CrueData getConverterData(CrueData in) { + return in; + } + public CrueDaoDCSP convertMetierToDao(final CrueData data, final CtuluAnalyze analyser) { final CrueDaoDCSP res = new CrueDaoDCSP(); res.Sections = new ArrayList<SectionBrancheAbstract>(); @@ -42,7 +46,7 @@ List<EMH> metier = data.getAllEMH(); if (CollectionUtils.isEmpty(metier)) { - CrueHelper.emhEmpty(CrueConstants.DCSP, analyser); + CrueHelper.emhEmpty(CrueFileType.DCSP, analyser); } else { for (final EMH emh : metier) { if (emh instanceof CatEMHBranche) { @@ -55,7 +59,7 @@ if (dataCalc != null) { CrueConverterDCSP.metierToDaoBranches(res.DonCalcSansPrtBranches, branche, dataCalc, analyser); } else { - CrueHelper.unknowdataFromFile("Branches", CrueConstants.DCSP, branche.getNom(), analyser); + CrueHelper.unknowdataFromFile("Branches", branche.getNom(), analyser); } } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDFRT.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDFRT.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDFRT.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -59,6 +59,10 @@ return out; } + public List<DonFrt> getConverterData(CrueData in) { + return in.getFrottements().getListFrt(); + } + public CrueDaoDFRT convertMetierToDao(final List<DonFrt> metier, final CtuluAnalyze analyser) { final CrueDaoDFRT res = new CrueDaoDFRT(); res.LoiFFs = new ArrayList<DaoLoiFF>(metier.size()); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDLHY.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDLHY.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDLHY.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -97,6 +97,10 @@ return outLoi; } + public List<Loi> getConverterData(CrueData in) { + return in.getLois(); + } + /** * Convertit les objets métier en objets persistants */ 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-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTG.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -43,6 +43,10 @@ return null; } + public CrueData getConverterData(CrueData in) { + return in; + } + public CrueDaoDPTG convertMetierToDao(final CrueData metier, final CtuluAnalyze analyser) { final CrueDaoDPTG res = new CrueDaoDPTG(); // -- liste qui assure d'ajouter une seule référence de profil: car un meme profil peut etre referencé plusieurs Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -21,6 +21,10 @@ SingleValueConverter sensOuvConverter; + public CrueData getConverterData(CrueData in) { + return in; + } + /* * @see org.fudaa.dodico.crue.io.dao.CrueConverter#convertDaoToMetier(org.fudaa.dodico.crue.io.dao.AbstractCrueDao, * org.fudaa.dodico.crue.metier.CrueData, org.fudaa.ctulu.CtuluAnalyze) Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -28,6 +28,10 @@ private SingleValueConverter sectionPositionConverter; + public CrueData getConverterData(CrueData in) { + return in; + } + public CrueData convertDaoToMetier(final CrueDaoDRSO dao, final CrueData dataLinked, final CtuluAnalyze analyser) { sectionPositionConverter = EnumsConverter.createEnumConverter(EnumPositionSection.class, analyser); final CrueData res = dataLinked == null ? new CrueDataImpl() : dataLinked; Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -10,6 +10,7 @@ import org.fudaa.ctulu.CtuluLibArray; import org.fudaa.dodico.crue.common.DateDurationConverter; import org.fudaa.dodico.crue.io.common.CrueData; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.dao.CrueDaoStructureETU.*; import org.fudaa.dodico.crue.metier.*; @@ -24,6 +25,10 @@ return CrueConverterETU.remplirMetierETU(dao, analyser); } + public EMHproject getConverterData(CrueData in) { + return null; + } + public CrueDaoETU convertMetierToDao(final EMHproject metier, final CtuluAnalyze analyser) { return null; } @@ -162,7 +167,8 @@ final String type = res.getClass().getSimpleName().replace("FichierResultat", ""); - final FichierCrue metierRes = new FichierCrue(res.Nom, null, type); + final FichierCrue metierRes = new FichierCrue(res.Nom, null, CrueFileType + .valueOf(type.trim())); listeFichierResultatsAssocies.add(metierRes); } @@ -418,7 +424,8 @@ if (fichierPersist.Nom != null && fichierPersist.Chemin != null && fichierPersist.getType() != null) { - final FichierCrue file = new FichierCrue(fichierPersist.Nom, fichierPersist.Chemin, fichierPersist.getType()); + final FichierCrue file = new FichierCrue(fichierPersist.Nom, fichierPersist.Chemin, CrueFileType + .valueOf(fichierPersist.getType().trim())); if (!infoProjet.addCrueFileToProject(file)) { CrueHelper.errorIdNonUnique("FichEtudes", file.getId(), analyser); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOCAL.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOCAL.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOCAL.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -20,6 +20,10 @@ */ public class CrueConverterOCAL implements CrueConverter<CrueDaoOCAL, OrdCalcScenario> { + public OrdCalcScenario getConverterData(CrueData in) { + return in.getOrdCalc(); + } + /** * Conversion des objets DAO en objets métier */ Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTG.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTG.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTG.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -20,6 +20,10 @@ */ public class CrueConverterOPTG implements CrueConverter<CrueDaoOPTG, OrdPrtGeoModeleBase> { + public OrdPrtGeoModeleBase getConverterData(CrueData in) { + return in.getPretraitementsGeom(); + } + public OrdPrtGeoModeleBase convertDaoToMetier(final CrueDaoOPTG dao, final CrueData dataLinked, final CtuluAnalyze analyser) { final OrdPrtGeoModeleBase ordres = new OrdPrtGeoModeleBase(); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -19,6 +19,10 @@ */ public class CrueConverterOPTI implements CrueConverter<CrueDaoOPTI, OrdPrtCIniModeleBase> { + public OrdPrtCIniModeleBase getConverterData(CrueData in) { + return in.getMethodesInterpolation(); + } + public OrdPrtCIniModeleBase convertDaoToMetier(final CrueDaoOPTI dao, final CrueData dataLinked, final CtuluAnalyze analyser) { /** Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterORES.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterORES.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterORES.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -17,6 +17,10 @@ */ public class CrueConverterORES implements CrueConverter<CrueDaoORES, OrdResScenario> { + public OrdResScenario getConverterData(CrueData in) { + return in.getOrdRes(); + } + /** * Conversion de la couche persistance vers la couche métier */ Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPCAL.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPCAL.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPCAL.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -24,6 +24,10 @@ */ public class CrueConverterPCAL implements CrueConverter<CrueDaoPCAL, ParamCalcScenario> { + public ParamCalcScenario getConverterData(CrueData in) { + return in.getParamCalc(); + } + /** * Conversion des objets DAO en objets métier */ Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPNUM.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPNUM.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPNUM.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -23,6 +23,10 @@ */ public class CrueConverterPNUM implements CrueConverter<CrueDaoPNUM, ParamNumModeleBase> { + public ParamNumModeleBase getConverterData(CrueData in) { + return in.getParamNumModeleBase(); + } + /** * Conversion des objets DAO en objets métier */ Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCLM.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCLM.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCLM.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -8,7 +8,7 @@ import com.thoughtworks.xstream.XStream; import org.fudaa.ctulu.CtuluAnalyze; -import org.fudaa.dodico.crue.io.common.CrueConstants; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.common.EnumsConverter; import org.fudaa.dodico.crue.metier.emh.EnumSensOuv; @@ -27,7 +27,7 @@ */ public void configureXStream(final XStream xstream, CtuluAnalyze analyze) { - xstream.alias(CrueConstants.DCLM, CrueDaoDCLM.class); + xstream.alias(CrueFileType.DCLM.toString(), CrueDaoDCLM.class); xstream.addImplicitCollection(CrueDaoDCLM.class, "listeCalculs"); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -5,7 +5,7 @@ import com.thoughtworks.xstream.XStream; import org.fudaa.ctulu.CtuluAnalyze; -import org.fudaa.dodico.crue.io.common.CrueConstants; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.common.EnumsConverter; import org.fudaa.dodico.crue.metier.emh.EnumFormulePdc; import org.fudaa.dodico.crue.metier.emh.EnumSensOrifice; @@ -18,7 +18,7 @@ public void configureXStream(final XStream xstream, CtuluAnalyze analyze) { // -- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias(CrueConstants.DCSP, CrueDaoDCSP.class); + xstream.alias(CrueFileType.DCSP.toString(), CrueDaoDCSP.class); // -- liste des initialisations nécessaires pour le formattage des donn�es--// initXmlParserBranche(xstream); initXmlParserSection(xstream); @@ -29,19 +29,6 @@ } /** - * init le parser xml avec toutes les converters et alias n�cessaires - */ - protected static void initXmlParserForDSCP(final XStream xstream) { - // -- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias(CrueConstants.DCSP, CrueDaoDCSP.class); - // -- liste des initialisations nécessaires pour le formattage des donn�es--// - initXmlParserBranche(xstream); - initXmlParserSection(xstream); - initXmlParserSeuils(xstream); - - } - - /** * Init le parser avec les infos des branches. * * @param xstream Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDFRT.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDFRT.java 2009-06-27 00:21:34 UTC (rev 4890) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDFRT.java 2009-06-27 19:57:53 UTC (rev 4891) @@ -3,7 +3,7 @@ import com.thoughtworks.xstream.XStream; import org.fudaa.ctulu.CtuluAnalyze; -import org.fudaa.dodico.crue.io.common.CrueConstants; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDLHY.DaoLoiFF; /** @@ -17,7 +17,7 @@ public void configureXStream(final XStream xstream, CtuluAnalyze analyze) { // -- cr... [truncated message content] |
From: <de...@us...> - 2009-06-28 22:19:50
|
Revision: 4892 http://fudaa.svn.sourceforge.net/fudaa/?rev=4892&view=rev Author: deniger Date: 2009-06-28 22:19:41 +0000 (Sun, 28 Jun 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueErrorManager.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DCFileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DHFileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FCBFileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FileFormatFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STOFileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STRFileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileType.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.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/projet/OrdonnanceurCrue10.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/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/validation/CruePrefix.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ScenarioWriter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateConnectionModele.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/projet/projetMessages.properties 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/TestCrueValidationModele.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueEditorImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoaderUI.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleGenerationCrue9.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue9.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue10.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/ScenarioSaver.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver10.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/MockCrueData.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueErrorManager.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueErrorManager.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueErrorManager.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -14,8 +14,26 @@ */ public class CrueErrorManager { - List<CtuluAnalyze> analyser = new ArrayList<CtuluAnalyze>(); + private List<CtuluAnalyze> analyser = new ArrayList<CtuluAnalyze>(); + private CtuluAnalyze mainAnalyze; + /** + * @return the mainAnalyze + */ + public CtuluAnalyze getMainAnalyze() { + if (mainAnalyze == null) { + mainAnalyze = getNewAnalyser(); + } + return mainAnalyze; + } + + /** + * @param mainAnalyze the mainAnalyze to set + */ + public void setMainAnalyze(CtuluAnalyze mainAnalyze) { + this.mainAnalyze = mainAnalyze; + } + ResourceBundle defaultResource; public CrueErrorManager(ResourceBundle defaultResource) { @@ -36,13 +54,18 @@ * @return */ public CtuluAnalyze getNewAnalyser() { - CtuluAnalyze analyzer = new CtuluAnalyze(); - analyzer.setDefaultResourceBundle(defaultResource); + CtuluAnalyze analyzer = createAnalyzer(); // ajout dans la liste des analyze analyser.add(analyzer); return analyzer; } + private CtuluAnalyze createAnalyzer() { + CtuluAnalyze analyzer = new CtuluAnalyze(); + analyzer.setDefaultResourceBundle(defaultResource); + return analyzer; + } + /** * retourne le dernier ctuluanalyze cree. * Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -7,10 +7,12 @@ import java.io.File; import java.io.OutputStream; import java.net.URL; +import java.util.Map; import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluIOOperationSynthese; import org.fudaa.dodico.crue.io.common.CrueData; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.common.CrueIOResu; import org.fudaa.dodico.crue.io.dao.CrueHelper; import org.fudaa.dodico.crue.io.neuf.AbstractCrue9Reader; @@ -21,15 +23,20 @@ */ public abstract class AbstractCrue9FileFormat extends CustomFileFormatUnique<CrueIOResu<CrueData>> { + private final CrueFileType fileType; + /** * @param id identifiant du format */ - public AbstractCrue9FileFormat(final String id) { + public AbstractCrue9FileFormat(final CrueFileType id, Map<CrueFileType, AbstractCrue9FileFormat> map) { super(1); - nom = id; + this.fileType = id; + nom = id.toString(); this.id = nom; - extensions = new String[] { id.toLowerCase() }; + extensions = new String[] { nom.toLowerCase() }; description = nom + ".file"; + map.put(id, this); + } /** Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -11,6 +11,7 @@ import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluIOOperationSynthese; import org.fudaa.dodico.crue.io.common.CrueData; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.common.CrueIOResu; import org.fudaa.dodico.crue.io.dao.CrueHelper; import org.fudaa.dodico.crue.io.neuf.AbstractCrueBinaryReader; @@ -23,15 +24,17 @@ * @param <M> Objet qui permet de stocker les informations lues dans le fichier binaire */ public abstract class AbstractCrueBinaryFileFormat<M> extends CustomFileFormatUnique<CrueIOResu<M>> { + private final CrueFileType type; /** * @param id identifiant du format */ - public AbstractCrueBinaryFileFormat(final String id) { + public AbstractCrueBinaryFileFormat(final CrueFileType id) { super(1); - nom = id; + this.type = id; + nom = id.toString(); this.id = nom; - extensions = new String[] { id.toLowerCase() }; + extensions = new String[] { nom.toLowerCase() }; description = nom + ".file"; } @@ -40,6 +43,14 @@ */ protected abstract AbstractCrueBinaryReader<M> createReader(); + /** + * @return the type + */ + @Override + public CrueFileType getType() { + return type; + } + public CrueIOResu<M> read(final File f, final CtuluAnalyze analyzer, final CrueData dataLinked) { final AbstractCrueBinaryReader reader = createReader(); reader.setDataLinked(dataLinked); @@ -79,15 +90,15 @@ throw new IllegalArgumentException("Not supported"); } - public boolean writeMetier(CrueIOResu<M> metier, File f, CtuluAnalyze analyzer) { + public boolean write(CrueData metier, File f, CtuluAnalyze analyzer) { throw new IllegalArgumentException("Not supported"); } - public boolean write(CrueData metier, File f, CtuluAnalyze analyzer) { + public boolean write(CrueData metier, OutputStream out, CtuluAnalyze analyser) { throw new IllegalArgumentException("Not supported"); } - public boolean write(CrueData metier, OutputStream out, CtuluAnalyze analyser) { + public boolean writeMetier(CrueIOResu<M> metier, File f, CtuluAnalyze analyzer) { throw new IllegalArgumentException("Not supported"); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -7,7 +7,7 @@ import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.dao.*; -import org.fudaa.dodico.crue.metier.EMHproject; +import org.fudaa.dodico.crue.metier.EMHProjet; import org.fudaa.dodico.crue.metier.emh.*; /** @@ -43,8 +43,8 @@ new CrueXmlReaderWriterImpl<CrueDaoDRSO, CrueData>(CrueFileType.DRSO, new CrueConverterDRSO(), new CrueDaoStructureDRSO()), fnts); - private final Crue10FileFormat<EMHproject> etu = new Crue10FileFormat<EMHproject>( - new CrueXmlReaderWriterImpl<CrueDaoETU, EMHproject>(CrueFileType.ETU, new CrueConverterETU(), + private final Crue10FileFormat<EMHProjet> etu = new Crue10FileFormat<EMHProjet>( + new CrueXmlReaderWriterImpl<CrueDaoETU, EMHProjet>(CrueFileType.ETU, new CrueConverterETU(), new CrueDaoStructureETU()), fnts); private final Crue10FileFormat<OrdPrtGeoModeleBase> optg = new Crue10FileFormat<OrdPrtGeoModeleBase>( @@ -157,7 +157,7 @@ /** * @return ETU : objet CrueFileFormat qui contient le DAO et le métier de ETU */ - public Crue10FileFormat<EMHproject> getETU() { + public Crue10FileFormat<EMHProjet> getETU() { return etu; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DCFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DCFileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DCFileFormat.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -1,5 +1,8 @@ package org.fudaa.dodico.crue.io; +import java.util.Map; + +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.neuf.DCFileReader; import org.fudaa.dodico.crue.io.neuf.DCFileWriter; @@ -13,8 +16,8 @@ /** * déclare seulement l'extension */ - public Crue9DCFileFormat() { - super("DC"); + public Crue9DCFileFormat(Map<CrueFileType, AbstractCrue9FileFormat> map) { + super(CrueFileType.DC, map); } @Override Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DHFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DHFileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DHFileFormat.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -1,5 +1,8 @@ package org.fudaa.dodico.crue.io; +import java.util.Map; + +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.neuf.DHReader; import org.fudaa.dodico.crue.io.neuf.DHWriter; @@ -13,8 +16,8 @@ /** * Constructeur qui précise l'extension autorisée pour ce type de fichier */ - public Crue9DHFileFormat() { - super("DH"); + public Crue9DHFileFormat(Map<CrueFileType, AbstractCrue9FileFormat> map) { + super(CrueFileType.DH, map); } @Override Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FCBFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FCBFileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FCBFileFormat.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -1,5 +1,6 @@ package org.fudaa.dodico.crue.io; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.neuf.AbstractCrueBinaryReader; import org.fudaa.dodico.crue.io.neuf.FCBReader; import org.fudaa.dodico.crue.io.neuf.FCBSequentialReader; @@ -15,7 +16,7 @@ * Constructeur qui précise l'extension autorisée pour ce type de fichier */ public Crue9FCBFileFormat() { - super("FCB"); + super(CrueFileType.FCB); } @Override Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FileFormatFactory.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FileFormatFactory.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FileFormatFactory.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -1,5 +1,10 @@ package org.fudaa.dodico.crue.io; +import java.util.HashMap; +import java.util.Map; + +import org.fudaa.dodico.crue.io.common.CrueFileType; + /** * Gere la lecture du format crue 9. * @@ -7,12 +12,13 @@ */ public final class Crue9FileFormatFactory { - // private Crue9FileFormatFactory() { - // - // } + /** + * la map contenant les correspondance + */ + private static final Map<CrueFileType, AbstractCrue9FileFormat> MAP = new HashMap<CrueFileType, AbstractCrue9FileFormat>(); - private static final Crue9DCFileFormat DC_FILEFORMAT = new Crue9DCFileFormat(); - private static final Crue9DHFileFormat DH_FILEFORMAT = new Crue9DHFileFormat(); + private static final Crue9DCFileFormat DC_FILEFORMAT = new Crue9DCFileFormat(MAP); + private static final Crue9DHFileFormat DH_FILEFORMAT = new Crue9DHFileFormat(MAP); private static final Crue9FCBFileFormat FCB_FILEFORMAT = new Crue9FCBFileFormat(); private static final Crue9STOFileFormat STO_FILEFORMAT = new Crue9STOFileFormat(); private static final Crue9STRFileFormat STR_FILEFORMAT = new Crue9STRFileFormat(); @@ -25,6 +31,14 @@ } /** + * @param type le type demande + * @return le format correspondant + */ + public static AbstractCrue9FileFormat getFileFormat(CrueFileType type) { + return MAP.get(type); + } + + /** * @return the DH */ public static Crue9DHFileFormat getDHFileFormat() { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STOFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STOFileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STOFileFormat.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -3,6 +3,7 @@ */ package org.fudaa.dodico.crue.io; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.neuf.AbstractCrueBinaryReader; import org.fudaa.dodico.crue.io.neuf.STOReader; import org.fudaa.dodico.crue.io.neuf.STOSequentialReader; @@ -16,7 +17,7 @@ * Constructeur qui précise l'extension autorisée pour ce type de fichier */ public Crue9STOFileFormat() { - super("STO"); + super(CrueFileType.STO); } @Override Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STRFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STRFileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STRFileFormat.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -3,6 +3,7 @@ */ package org.fudaa.dodico.crue.io; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.neuf.AbstractCrueBinaryReader; import org.fudaa.dodico.crue.io.neuf.STRReader; import org.fudaa.dodico.crue.io.neuf.STRSequentialReader; @@ -16,7 +17,7 @@ * Constructeur qui précise l'extension autorisée pour ce type de fichier */ public Crue9STRFileFormat() { - super("STR"); + super(CrueFileType.STR); } @Override Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileType.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileType.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileType.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -9,6 +9,6 @@ */ public enum CrueFileType { - ETU, DRSO, ORES, OCAL, PCAL, DCLM, DLHY, OPTR, OPTG, OPTI, PNUM, DPTI, DCSP, DPTG, DFRT, DC, DH, RPTR, RPTG, RPTI, RCAL + ETU, DRSO, ORES, OCAL, PCAL, DCLM, DLHY, OPTR, OPTG, OPTI, PNUM, DPTI, DCSP, DPTG, DFRT, DC, DH, RPTR, RPTG, RPTI, RCAL, FCB, STO, STR } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -19,17 +19,17 @@ * * @author Adrien Hadoux */ -public class CrueConverterETU implements CrueConverter<CrueDaoETU, EMHproject> { +public class CrueConverterETU implements CrueConverter<CrueDaoETU, EMHProjet> { - public EMHproject convertDaoToMetier(final CrueDaoETU dao, final CrueData dataLinked, final CtuluAnalyze analyser) { + public EMHProjet convertDaoToMetier(final CrueDaoETU dao, final CrueData dataLinked, final CtuluAnalyze analyser) { return CrueConverterETU.remplirMetierETU(dao, analyser); } - public EMHproject getConverterData(CrueData in) { + public EMHProjet getConverterData(CrueData in) { return null; } - public CrueDaoETU convertMetierToDao(final EMHproject metier, final CtuluAnalyze analyser) { + public CrueDaoETU convertMetierToDao(final EMHProjet metier, final CtuluAnalyze analyser) { return null; } @@ -40,9 +40,9 @@ * @param analyser * @return */ - public static EMHproject remplirMetierETU(final CrueDaoETU persistance, final CtuluAnalyze analyser) { + public static EMHProjet remplirMetierETU(final CrueDaoETU persistance, final CtuluAnalyze analyser) { - final EMHproject project = new EMHproject(); + final EMHProjet project = new EMHProjet(); final EMHProjectInfos infos = new EMHProjectInfos(); @@ -86,7 +86,7 @@ * @param listeMessageError * @return */ - private static void remplirBaseScenarios(final EMHproject project, final List<Scenario> listePersist, + private static void remplirBaseScenarios(final EMHProjet project, final List<Scenario> listePersist, final EMHProjectInfos infos, final CtuluAnalyze analyser) { if (CollectionUtils.isEmpty(listePersist)) { @@ -222,7 +222,7 @@ * @param listeMessageError * @return */ - public static void remplirBaseSousModeles(final EMHproject dest, final List<SousModele> listePersist, + public static void remplirBaseSousModeles(final EMHProjet dest, final List<SousModele> listePersist, final EMHProjectInfos infos, final CtuluAnalyze analyser) { if (CollectionUtils.isNotEmpty(listePersist)) { @@ -260,7 +260,7 @@ * @param listeMessageError * @return */ - private static void remplirBaseModeles(final EMHproject project, final List<Modele> listePersist, + private static void remplirBaseModeles(final EMHProjet project, final List<Modele> listePersist, final EMHProjectInfos infos, final CtuluAnalyze analyser) { if (listePersist != null) { Copied: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java (from rev 4891, trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java) =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -0,0 +1,232 @@ +package org.fudaa.dodico.crue.metier; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Gere un projet EMH. Est construit a partir du fichier XML ETU. + * + * @author Adrien Hadoux + */ +public class EMHProjet { + + private final static Logger LOGGER = LoggerFactory.getLogger(EMHProjet.class); + + /** + * Infos du projet, contient la base des fichiers de donn�es. + */ + private EMHProjectInfos baseRessourcesInfos_; + + /** + * Base des sc�narios disponible pour tout le projet. + */ + private final List<ManagerEMHScenario> baseScenarios = new ArrayList<ManagerEMHScenario>(); + private final Map<String, ManagerEMHModeleBase> idModele = new HashMap<String, ManagerEMHModeleBase>(); + + private final Map<String, ManagerEMHScenario> idScenario = new HashMap<String, ManagerEMHScenario>(); + + private final Map<String, ManagerEMHSousModele> idSousModele = new HashMap<String, ManagerEMHSousModele>(); + + private final List<ManagerEMHModeleBase> listeModele = new ArrayList<ManagerEMHModeleBase>(); + + private final List<ManagerEMHSousModele> listeSousModele = new ArrayList<ManagerEMHSousModele>(); + + // /** + // * Methode tres importante; c'est elle qui retourne les crue data générales du scénario courant. En effet, ces crue + // * data sont globale au scenario, elles contiennet donc la concaténation des crue data de chaque entité fille: + // * modeles, sous modeles. + // * + // * @author Adrien hadoux + // * @return + // */ + // public CrueData getCrueDataFromScenarioCourant() { + // if (getScenarioCourant() != null) { return CrueDataImpl.buildConcatFor(getScenarioCourant().getEMH()); } + // return null; + // } + + /** + * Scenario courant du projet. Attention peut etre null. + */ + private ManagerEMHScenario scenarioCourant; + + public void addBaseModele(final ManagerEMHModeleBase modele) { + this.listeModele.add(modele); + idModele.put(modele.getNom(), modele); + } + + public void addBaseSousModele(final ManagerEMHSousModele sousModele) { + this.listeSousModele.add(sousModele); + idSousModele.put(sousModele.getNom(), sousModele); + } + + public void addScenario(final ManagerEMHScenario scenario) { + this.idScenario.put(scenario.getNom(), scenario); + this.baseScenarios.add(scenario); + } + + public File getDirForRun(final ManagerEMHScenario sc, final EMHRun runCourant) { + File dir = new File(getInfos().getDirectories().get(EMHProjectInfos.RUNS), sc.getNom()); + dir = new File(dir, runCourant.getId()); + return dir; + } + + public File getDirForRunCourant() { + if (scenarioCourant != null && scenarioCourant.getRunCourant() != null) { return getDirForRun(scenarioCourant, + scenarioCourant.getRunCourant()); } + return null; + } + + private Map<String, URL> getEtudeFiles(final Map<String, FichierCrueParModele> allFileUsed) { + final Map<String, URL> res = new HashMap<String, URL>(); + try { + for (final Map.Entry<String, FichierCrueParModele> entry : allFileUsed.entrySet()) { + res.put(entry.getKey(), entry.getValue().getFichier().getProjetFichier(this).toURI().toURL()); + } + } catch (MalformedURLException e) { + LOGGER.error("getEtudeFiles", e); + } + return res; + } + + private Map<String, File> getFileEtudeFiles(final Map<String, FichierCrueParModele> allFileUsed) { + final Map<String, File> res = new HashMap<String, File>(); + for (final Map.Entry<String, FichierCrueParModele> entry : allFileUsed.entrySet()) { + res.put(entry.getKey(), entry.getValue().getFichier().getProjetFichier(this)); + } + return res; + } + + /** + * @return l'association idFichier->File pour les fichier d'etude + */ + public Map<String, URL> getFileEtudeScenario(final String id) { + final ManagerEMHScenario sc = getScenario(id); + if (sc == null) { return Collections.emptyMap(); } + return getEtudeFiles(sc.getAllFileUsed()); + } + + public Map<String, File> getFileFileEtudeScenario(final String id) { + final ManagerEMHScenario sc = getScenario(id); + if (sc == null) { return Collections.emptyMap(); } + return getFileEtudeFiles(sc.getAllFileUsed()); + } + + /** + * @param nom le nom du scenario + * @return l'association idFichier->File pour les fichier d'etude + */ + public Map<String, URL> getURLRunScenario(final String nom) { + final ManagerEMHScenario sc = getScenario(nom); + if (sc == null || sc.getRunCourant() == null) { return Collections.emptyMap(); } + return getRunFiles(sc.getAllFileUsed(), sc.getRunCourant()); + } + + /** + * @param nom le nom du scenario + * @return l'association idFichier->File pour les fichier d'etude + */ + public Map<String, File> getFileRunScenario(final String nom) { + final ManagerEMHScenario sc = getScenario(nom); + if (sc == null || sc.getRunCourant() == null) { return Collections.emptyMap(); } + return getRunFileFiles(sc.getAllFileUsed(), sc.getRunCourant()); + } + + /** + * @return l'association idFichier->File pour les fichier d'etude + */ + public Map<String, URL> getURLScenarioCourant() { + if (scenarioCourant == null || scenarioCourant.getRunCourant() == null) { return Collections.emptyMap(); } + return getRunFiles(scenarioCourant.getAllFileUsed(), scenarioCourant.getRunCourant()); + } + + /** + * @return l'association idFichier->File pour les fichier du run courant + */ + public Map<String, URL> getFilesEtudeScenarioCourant() { + if (scenarioCourant == null) { return Collections.emptyMap(); } + return getEtudeFiles(scenarioCourant.getAllFileUsed()); + } + + /** + * @return l'association pour les fichiers resultats du run courant + */ + public Map<String, URL> getFilesResultatForCurrentRun() { + final File dir = getDirForRunCourant(); + if (dir != null) { return scenarioCourant.getFilesResultatIn(dir); } + return null; + + } + + public EMHProjectInfos getInfos() { + return baseRessourcesInfos_; + } + + public List<ManagerEMHModeleBase> getListeModeles() { + return Collections.unmodifiableList(listeModele); + } + + public List<ManagerEMHScenario> getListeScenarios() { + return baseScenarios; + } + + public List<ManagerEMHSousModele> getListeSousModeles() { + return listeSousModele; + } + + public ManagerEMHModeleBase getModele(final String nom) { + return idModele.get(nom); + } + + private Map<String, URL> getRunFiles(final Map<String, FichierCrueParModele> allFileUsed, final EMHRun runCourant) { + final Map<String, URL> res = new HashMap<String, URL>(allFileUsed.size()); + final Map<String, File> file = getRunFileFiles(allFileUsed, runCourant); + for (Map.Entry<String, File> it : file.entrySet()) { + try { + res.put(it.getKey(), it.getValue().toURI().toURL()); + } catch (MalformedURLException e) { + LOGGER.error("getRunFiles", e); + } + } + return res; + } + + private Map<String, File> getRunFileFiles(final Map<String, FichierCrueParModele> allFileUsed, final EMHRun runCourant) { + final Map<String, File> res = new HashMap<String, File>(allFileUsed.size()); + final File dirOfRun = getDirForRunCourant(); + for (final Map.Entry<String, FichierCrueParModele> entry : allFileUsed.entrySet()) { + final File modeleDir = new File(dirOfRun, entry.getValue().getParent().getNom()); + res.put(entry.getKey(), new File(modeleDir, entry.getValue().getFichier().getId())); + } + return res; + } + + public ManagerEMHScenario getScenario(final String nom) { + return idScenario.get(nom); + } + + public ManagerEMHScenario getScenarioCourant() { + return scenarioCourant; + } + + public ManagerEMHSousModele getSousModele(final String nom) { + return idSousModele.get(nom); + } + + public void setInfos(final EMHProjectInfos _infos) { + this.baseRessourcesInfos_ = _infos; + } + + public void setScenarioCourant(final ManagerEMHScenario scenarioCourant) { + this.scenarioCourant = scenarioCourant; + } + +} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -1,183 +0,0 @@ -package org.fudaa.dodico.crue.metier; - -import java.io.File; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * Gere un projet EMH. Est construit a partir du fichier XML ETU. - * - * @author Adrien Hadoux - */ -public class EMHproject { - - /** - * Infos du projet, contient la base des fichiers de donn�es. - */ - private EMHProjectInfos baseRessourcesInfos_; - - /** - * Base des sc�narios disponible pour tout le projet. - */ - private final List<ManagerEMHScenario> baseScenarios = new ArrayList<ManagerEMHScenario>(); - - private final Map<String, ManagerEMHModeleBase> idModele = new HashMap<String, ManagerEMHModeleBase>(); - private final Map<String, ManagerEMHScenario> idScenario = new HashMap<String, ManagerEMHScenario>(); - - private final Map<String, ManagerEMHSousModele> idSousModele = new HashMap<String, ManagerEMHSousModele>(); - - private final List<ManagerEMHModeleBase> listeModele = new ArrayList<ManagerEMHModeleBase>(); - - private final List<ManagerEMHSousModele> listeSousModele = new ArrayList<ManagerEMHSousModele>(); - - /** - * Scenario courant du projet. Attention peut etre null. - */ - private ManagerEMHScenario scenarioCourant; - - // /** - // * Methode tres importante; c'est elle qui retourne les crue data générales du scénario courant. En effet, ces crue - // * data sont globale au scenario, elles contiennet donc la concaténation des crue data de chaque entité fille: - // * modeles, sous modeles. - // * - // * @author Adrien hadoux - // * @return - // */ - // public CrueData getCrueDataFromScenarioCourant() { - // if (getScenarioCourant() != null) { return CrueDataImpl.buildConcatFor(getScenarioCourant().getEMH()); } - // return null; - // } - - public void addBaseModele(final ManagerEMHModeleBase modele) { - this.listeModele.add(modele); - idModele.put(modele.getNom(), modele); - } - - public void addBaseSousModele(final ManagerEMHSousModele sousModele) { - this.listeSousModele.add(sousModele); - idSousModele.put(sousModele.getNom(), sousModele); - } - - public void addScenario(final ManagerEMHScenario scenario) { - this.idScenario.put(scenario.getNom(), scenario); - this.baseScenarios.add(scenario); - } - - public File getDirForRun(final ManagerEMHScenario sc, final EMHRun runCourant) { - File dir = new File(getInfos().getDirectories().get(EMHProjectInfos.RUNS), sc.getNom()); - dir = new File(dir, runCourant.getId()); - return dir; - } - - public File getDirForRunCourant() { - if (scenarioCourant != null && scenarioCourant.getRunCourant() != null) { return getDirForRun(scenarioCourant, - scenarioCourant.getRunCourant()); } - return null; - } - - private Map<String, File> getEtudeFiles(final Map<String, FichierCrueParModele> allFileUsed) { - final Map<String, File> res = new HashMap<String, File>(); - for (final Map.Entry<String, FichierCrueParModele> entry : allFileUsed.entrySet()) { - res.put(entry.getKey(), entry.getValue().getFichier().getProjetFichier(this)); - } - return res; - } - - /** - * @return l'association idFichier->File pour les fichier d'etude - */ - public Map<String, File> getFileEtudeScenario(final String id) { - final ManagerEMHScenario sc = getScenario(id); - if (sc == null) { return Collections.emptyMap(); } - return getEtudeFiles(sc.getAllFileUsed()); - } - - /** - * @return l'association idFichier->File pour les fichier d'etude - */ - public Map<String, File> getFileRunScenario(final String nom) { - final ManagerEMHScenario sc = getScenario(nom); - if (sc == null || sc.getRunCourant() == null) { return Collections.emptyMap(); } - return getRunFiles(sc.getAllFileUsed(), sc.getRunCourant()); - } - - /** - * @return l'association idFichier->File pour les fichier d'etude - */ - public Map<String, File> getFileRunScenarioCourant() { - if (scenarioCourant == null || scenarioCourant.getRunCourant() == null) { return Collections.emptyMap(); } - return getRunFiles(scenarioCourant.getAllFileUsed(), scenarioCourant.getRunCourant()); - } - - /** - * @return l'association idFichier->File pour les fichier du run courant - */ - public Map<String, File> getFilesEtudeScenarioCourant() { - if (scenarioCourant == null) { return Collections.emptyMap(); } - return getEtudeFiles(scenarioCourant.getAllFileUsed()); - } - - /** - * @return l'association pour les fichiers resultats du run courant - */ - public Map<String, File> getFilesResultatForCurrentRun() { - final File dir = getDirForRunCourant(); - if (dir != null) { return scenarioCourant.getFilesResultatIn(dir); } - return null; - - } - - public EMHProjectInfos getInfos() { - return baseRessourcesInfos_; - } - - public List<ManagerEMHModeleBase> getListeModeles() { - return Collections.unmodifiableList(listeModele); - } - - public List<ManagerEMHScenario> getListeScenarios() { - return baseScenarios; - } - - public List<ManagerEMHSousModele> getListeSousModeles() { - return listeSousModele; - } - - public ManagerEMHModeleBase getModele(final String nom) { - return idModele.get(nom); - } - - private Map<String, File> getRunFiles(final Map<String, FichierCrueParModele> allFileUsed, final EMHRun runCourant) { - final Map<String, File> res = new HashMap<String, File>(); - final File dirOfRun = getDirForRunCourant(); - for (final Map.Entry<String, FichierCrueParModele> entry : allFileUsed.entrySet()) { - final File modeleDir = new File(dirOfRun, entry.getValue().getParent().getNom()); - res.put(entry.getKey(), new File(modeleDir, entry.getValue().getFichier().getId())); - } - return res; - } - - public ManagerEMHScenario getScenario(final String nom) { - return idScenario.get(nom); - } - - public ManagerEMHScenario getScenarioCourant() { - return scenarioCourant; - } - - public ManagerEMHSousModele getSousModele(final String nom) { - return idSousModele.get(nom); - } - - public void setInfos(final EMHProjectInfos _infos) { - this.baseRessourcesInfos_ = _infos; - } - - public void setScenarioCourant(final ManagerEMHScenario scenarioCourant) { - this.scenarioCourant = scenarioCourant; - } - -} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -41,7 +41,7 @@ * * @return */ - public File getProjetFichier(EMHproject proj) { + public File getProjetFichier(EMHProjet proj) { File dir = new File(proj.getInfos().getDirectories().get(EMHProjectInfos.FICHETUDES)); if (cheminRelatif != null) { dir = new File(dir, cheminRelatif); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -1,6 +1,8 @@ package org.fudaa.dodico.crue.metier; import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -8,6 +10,8 @@ import java.util.Map; import org.fudaa.dodico.crue.metier.emh.EMHScenario; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Entite organisant les calculs sur des modeles simples ou enchaines @@ -88,23 +92,30 @@ return emh; } + private final static Logger LOGGER = LoggerFactory.getLogger(ManagerEMHScenario.class); + /** * @param dirOfRun le repertoire du run. * @return l'association id->File des fichiers resultats du run courant. */ - protected Map<String, File> getFilesResultatIn(final File dirOfRun) { + protected Map<String, URL> getFilesResultatIn(final File dirOfRun) { // pour le run courant final EMHRun runCourant = getRunCourant(); if (runCourant == null) { return Collections.emptyMap(); } - final Map<String, File> res = new HashMap<String, File>(); + final Map<String, URL> res = new HashMap<String, URL>(); // on parcout tous les modeles final List<EMHModeleRun> listeModelesRuns = runCourant.getListeModelesRuns(); for (final EMHModeleRun modeleRun : listeModelesRuns) { final File modeleDir = new File(dirOfRun, modeleRun.getModeleRun().getNom()); final List<FichierCrue> listeFichiers = modeleRun.getListeFichiers(); - for (final FichierCrue fichierCrue : listeFichiers) { - res.put(fichierCrue.getId(), new File(modeleDir, fichierCrue.getId())); + try { + for (final FichierCrue fichierCrue : listeFichiers) { + res.put(fichierCrue.getId(), new File(modeleDir, fichierCrue.getId()).toURI().toURL()); + } + } catch (MalformedURLException e) { + LOGGER.error("getFilesResultatIn " + dirOfRun, e); } + } return res; } Modified: 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/EMHModeleBase.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHModeleBase.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -6,6 +6,8 @@ package org.fudaa.dodico.crue.metier.emh; +import java.util.List; + import org.fudaa.dodico.crue.metier.helper.EMHHelper; /** @pdOid 3c043ca3-0277-42fd-8f18-0492e16904d9 */ @@ -17,6 +19,13 @@ } /** + * @return liste des modele + */ + public List<EMHSousModele> getSousModele() { + return EMHHelper.getEMHInRelationEMHContient(this, EnumTypeEMH.SOUS_MODELE); + } + + /** * @return la concatenation des sous-modele */ @Override Modified: 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/EMHScenario.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHScenario.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -32,6 +32,13 @@ } /** + * @return liste des modele + */ + public List<EMHModeleBase> getModele() { + return EMHHelper.getEMHInRelationEMHContient(this, EnumTypeEMH.MODELE); + } + + /** * @return le conteneur de loi: toujours non null */ public DonLoiHYConteneur getLoiConteneur() { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue10.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue10.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue10.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -4,6 +4,7 @@ */ package org.fudaa.dodico.crue.projet; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -31,6 +32,17 @@ } /** + * @return tous les types supportes + */ + public List<CrueFileType> getAllFileType() { + List<CrueFileType> allFiles = new ArrayList<CrueFileType>(20); + allFiles.addAll(getSousModele()); + allFiles.addAll(getModele()); + allFiles.addAll(getScenario()); + return allFiles; + } + + /** * @return the mODELE */ public List<CrueFileType> getModele() { Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue9.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue9.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -0,0 +1,28 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.projet; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.fudaa.dodico.crue.io.common.CrueFileType; + +/** + * @author deniger + */ +public class OrdonnanceurCrue9 { + + private final static List<CrueFileType> SCENARIO = Collections.unmodifiableList(Arrays.asList(CrueFileType.DC, + CrueFileType.DH)); + + /** + * @return the sCENARIO + */ + public List<CrueFileType> getScenario() { + return SCENARIO; + } + +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue10.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue10.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue10.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -0,0 +1,71 @@ +package org.fudaa.dodico.crue.projet; + +import java.io.File; +import java.util.List; + +import org.fudaa.ctulu.CtuluLibFile; +import org.fudaa.dodico.crue.common.CrueErrorManager; +import org.fudaa.dodico.crue.io.Crue10FileFormat; +import org.fudaa.dodico.crue.io.Crue10FileFormatFactory; +import org.fudaa.dodico.crue.io.common.CrueData; +import org.fudaa.dodico.crue.io.common.CrueFileType; + +/** + * Exporte les données au format crue neuf. Il est possible de définir les formats à exporter. + * + * @author Frederic Deniger + */ +public class ScenarioExporterCrue10 { + + private final String fichierModele; + private final CrueData dataToExport; + private final OrdonnanceurCrue10 ordonnanceur = new OrdonnanceurCrue10(); + private final Crue10FileFormatFactory factory = Crue10FileFormatFactory.getInstance(); + private List<CrueFileType> fileToExport; + + /** + * @return the fileToExport + */ + public List<CrueFileType> getFileToExport() { + return fileToExport; + } + + /** + * @param fileToExport the fileToExport to set + */ + public void setFileToExport(final List<CrueFileType> fileToExport) { + this.fileToExport = fileToExport; + } + + /** + * Sauvegarder a partir d'un fichier modele:Fonction sauvegarder sous + * + * @param fichierModele + * @param dataToExport + */ + public ScenarioExporterCrue10(final String fichierModele, final CrueData dataToExport) { + super(); + this.fichierModele = fichierModele; + this.dataToExport = dataToExport; + } + + /** + * S'occupe de persister le scenario en crue 10 en mettant toutes les données dans un minimum de fichier: 1 fichier + * pour drso, 1 pour dfrt.... + * + * @return true si réussite + */ + public CrueErrorManager export() { + // on recupere tous les fichiers a écrire + final List<CrueFileType> allFiles = fileToExport == null ? ordonnanceur.getAllFileType() : fileToExport; + final CrueErrorManager error = new CrueErrorManager(ProjetMessages.RESOURCE_BUNDLE); + for (final CrueFileType crueFileType : allFiles) { + final Crue10FileFormat fileFormat = factory.getFileFormat(crueFileType); + final File fileDest = CtuluLibFile.changeExtension(new File(fichierModele), fileFormat.getExtensions()[0]); + fileFormat.write(dataToExport, fileDest, error.getNewAnalyser()); + + } + return error; + } + +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -0,0 +1,53 @@ +package org.fudaa.dodico.crue.projet; + +import java.io.File; + +import org.fudaa.ctulu.CtuluLibFile; +import org.fudaa.dodico.crue.common.CrueErrorManager; +import org.fudaa.dodico.crue.io.AbstractCrue9FileFormat; +import org.fudaa.dodico.crue.io.Crue9FileFormatFactory; +import org.fudaa.dodico.crue.io.common.CrueData; +import org.fudaa.dodico.crue.io.common.CrueFileType; + +/** + * Exporte les données au format crue neuf. Il est possible de définir les formats à exporter. + * + * @author Frederic Deniger + */ +public class ScenarioExporterCrue9 { + + private final String fichierModele; + private final CrueData dataToExport; + + /** + * Sauvegarder a partir d'un fichier modele:Fonction sauvegarder sous + * + * @param fichierModele + * @param dataToExport + */ + public ScenarioExporterCrue9(final String fichierModele, final CrueData dataToExport) { + super(); + this.fichierModele = fichierModele; + this.dataToExport = dataToExport; + } + + /** + * S'occupe de persister le scenario en crue 10 en mettant toutes les données dans un minimum de fichier: 1 fichier + * pour drso, 1 pour dfrt.... + * + * @return true si réussite + */ + public CrueErrorManager export() { + final CrueErrorManager error = exportFor(CrueFileType.DC, null); + return exportFor(CrueFileType.DH, error); + + } + + private CrueErrorManager exportFor(final CrueFileType dc, final CrueErrorManager error) { + final CrueErrorManager res = error == null ? new CrueErrorManager(ProjetMessages.RESOURCE_BUNDLE) : error; + final AbstractCrue9FileFormat format = Crue9FileFormatFactory.getFileFormat(dc); + format.write(dataToExport, CtuluLibFile.changeExtension(new File(fichierModele), format.getExtensions()[0]), error + .getNewAnalyser()); + return res; + } +} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -1,13 +1,17 @@ package org.fudaa.dodico.crue.projet; import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; import java.util.Map; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.dodico.crue.common.CrueErrorManager; import org.fudaa.dodico.crue.io.common.Messages; +import org.fudaa.dodico.crue.metier.EMHProjet; import org.fudaa.dodico.crue.metier.EMHRun; -import org.fudaa.dodico.crue.metier.EMHproject; import org.fudaa.dodico.crue.metier.ManagerEMHScenario; import org.fudaa.dodico.crue.metier.emh.EMHScenario; import org.fudaa.dodico.crue.validation.ValidateConnectionModele; @@ -19,34 +23,39 @@ */ public class ScenarioLoader { private final ManagerEMHScenario scenario; - private final EMHproject projet; + private final EMHProjet projet; - public ScenarioLoader(final ManagerEMHScenario scenario, final EMHproject projet) { + /** + * @param scenario le scenario + * @param projet le projet contenant + */ + public ScenarioLoader(final ManagerEMHScenario scenario, final EMHProjet projet) { super(); this.scenario = scenario; this.projet = projet; } - private CrueErrorManager errorMng; - private CtuluAnalyze analyzer; - /** * Realise la lecture. * * @return true si ok */ public CrueErrorManager compute() { - errorMng = new CrueErrorManager(ProjetMessages.RESOURCE_BUNDLE); - analyzer = createAnalyser(errorMng); + final CrueErrorManager errorMng = new CrueErrorManager(ProjetMessages.RESOURCE_BUNDLE); + final CtuluAnalyze analyzer = errorMng.getNewAnalyser(); + errorMng.setMainAnalyze(analyzer); analyzer.setDesc(Messages.RESOURCE_BUNDLE.getString("loader.fichiers.scenario.chargt") + " " + scenario.getNom()); final boolean ok = validFiles(errorMng); if (!ok) { return errorMng; } final EMHRun runCourant = scenario.getRunCourant(); - Map<String, File> files = null; + Map<String, URL> files = null; + if (projet.getScenario(scenario.getNom()) == null) { + analyzer.addFatalError("not.scenario.error", scenario.getNom()); + } if (runCourant == null) { - files = projet.getFilesEtudeScenarioCourant(); + files = projet.getFileEtudeScenario(scenario.getNom()); } else { - files = projet.getFileRunScenarioCourant(); + files = projet.getURLRunScenario(scenario.getNom()); } EMHScenario emhScenario = null; if (scenario.getInfosVersions() != null && scenario.getInfosVersions().getType() != null) { @@ -62,19 +71,19 @@ } if (emhScenario == null) { return errorMng; } // on valide les données - final CtuluAnalyze analyseValidationCOnnexite = createAnalyser(errorMng); + final CtuluAnalyze analyseValidationCOnnexite = errorMng.getNewAnalyser(); analyseValidationCOnnexite.setDesc(ProjetMessages.getString("validation.connexite", scenario.getNom())); - ValidateConnectionModele.validateConnexite(data, analyseValidationCOnnexite); + ValidateConnectionModele.validateConnexite(emhScenario, analyseValidationCOnnexite); return errorMng; } private boolean validFiles(final CrueErrorManager errorMng) { // on teste la presence de fichiers - Map<String, File> fileToLoad = projet.getFilesEtudeScenarioCourant(); + Map<String, URL> fileToLoad = projet.getFilesEtudeScenarioCourant(); boolean ok = validFileExists(fileToLoad, "loader.fichier.etude.exist"); if (scenario.getRunCourant() != null) { - final Map<String, File> runFiles = projet.getFileRunScenarioCourant(); + final Map<String, URL> runFiles = projet.getURLScenarioCourant(); ok = ok && validFileExists(runFiles, "loader.fichier.run.exist"); if (ok) { fileToLoad = runFiles; @@ -85,42 +94,58 @@ } - private boolean validFileExists(final Map<String, File> allFileUsed, final String title) { + private boolean validFileExists(final Map<String, URL> allFileUsed, final String title) { CtuluAnalyze fileNotExist = null; boolean valid = true; - for (final File f : allFileUsed.values()) { - if (!f.exists()) { + for (final URL f : allFileUsed.values()) { + if (!urlExist(f)) { valid = false; if (fileNotExist == null) { fileNotExist = new CtuluAnalyze(ProjetMessages.RESOURCE_BUNDLE); fileNotExist.setDesc(ProjetMessages.RESOURCE_BUNDLE.getString(title)); } - fileNotExist.addError("loader.fichier.notExist.error", f.getAbsoluteFile()); + fileNotExist.addError("loader.fichier.notExist.error", f.toString()); } } return valid; } - private boolean warnResFileExists(final Map<String, File> allFileUsed) { + private boolean warnResFileExists(final Map<String, URL> allFileUsed) { CtuluAnalyze fileNotExist = null; boolean valid = true; - for (final File f : allFileUsed.values()) { - if (!f.exists()) { + for (final URL url : allFileUsed.values()) { + if (!urlExist(url)) { valid = false; if (fileNotExist == null) { fileNotExist = new CtuluAnalyze(ProjetMessages.RESOURCE_BUNDLE); fileNotExist.setDesc(ProjetMessages.RESOURCE_BUNDLE.getString("loader.resFichier.exist")); } - fileNotExist.addWarn("loader.resFichier.notExist.error", f.getAbsoluteFile()); + fileNotExist.addWarn("loader.resFichier.notExist.error", url.toString()); } } return valid; } - protected static CtuluAnalyze createAnalyser(final CrueErrorManager errorMng) { - final CtuluAnalyze res = errorMng.getNewAnalyser(); - res.setDefaultResourceBundle(ProjetMessages.RESOURCE_BUNDLE); - return res; + private boolean urlExist(final URL url) { + boolean exist = false; + try { + final File f = new File(url.toURI()); + exist = f.exists(); + } catch (final Exception e) { + // ce n'est pas un fichier + InputStream openStream = null; + try { + openStream = url.openStream(); + exist = openStream != null; + } catch (final IOException e1) { + exist = false; + // LOGGER.error("warnResFileExists",e1); + } finally { + CtuluLibFile.close(openStream); + } + + } + return exist; } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -4,7 +4,7 @@ */ package org.fudaa.dodico.crue.projet; -import java.io.File; +import java.net.URL; import java.util.List; import java.util.Map; @@ -46,7 +46,7 @@ this.analyzer = analyzer; } - protected EMHScenario compute(final Map<String, File> files) { + protected EMHScenario compute(final Map<String, URL> files) { // pour crue10, on vérifie les fichiers xml final ValidateModeleScenario crue10Valid = new ValidateModeleScenario(files, scenario); crue10Valid.validate(errorMng); @@ -59,7 +59,7 @@ * * @param analyzer */ - private EMHScenario ordonnanceChargementCrue10(final Map<String, File> file) { + private EMHScenario ordonnanceChargementCrue10(final Map<String, URL> file) { // -- data globale qui va contenir l'ensemble de totues les datas des scenarios,modeles,sous modeles,...--// // final CrueData dataScenarioGlobale = new CrueDataImpl(); @@ -107,7 +107,7 @@ return null; } - private void readFile(final List<CrueFileType> typesToRead, final Map<String, File> idFile, + private void readFile(final List<CrueFileType> typesToRead, final Map<String, URL> idFile, final ManagerEMHContainerBase content, final CrueData dest) { for (final CrueFileType type : typesToRead) { final Crue10FileFormat fmt = factory.getFileFormat(type); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -4,7 +4,7 @@ */ package org.fudaa.dodico.crue.projet; -import java.io.File; +import java.net.URL; import java.util.List; import java.util.Map; @@ -40,20 +40,21 @@ /** * Ordonnance le chargement d'un projet crue 10: sous modeles puis modeles puis scenarios */ - protected EMHScenario compute(final Map<String, File> files) { + protected EMHScenario compute(final Map<String, URL> files) { // -- recherche des fichiers sous modeles --// final List<ManagerEMHModeleBase> fils = scenario.getFils(); if (fils.isEmpty()) { analyzer.addFatalError("noCurrentModele.error"); + return null; } else if (fils.size() > 1) { - analyzer.addFatalError("loader.crue9.oneModele.authorized"); + analyzer.addFatalError("crue9.oneModele.authorized"); return null; } final ManagerEMHModeleBase modele = fils.get(0); - final File fichierDC = files.get(modele.getListeFichiers().getFile(CrueFileType.DC)); - final File fichierDH = files.get(modele.getListeFichiers().getFile(CrueFileType.DH)); + final URL fichierDC = files.get(modele.getListeFichiers().getFile(CrueFileType.DC)); + final URL fichierDH = files.get(modele.getListeFichiers().getFile(CrueFileType.DH)); if (fichierDC == null) { analyzer.addFatalError("loader.crue9.noDefined", "DC", modele.getNom()); @@ -64,13 +65,14 @@ return null; } - CtuluAnalyze ana = ScenarioLoader.createAnalyser(errorMng); + CtuluAnalyze ana = errorMng.getNewAnalyser(); final CrueIOResu<CrueData> ioResuDC = Crue9FileFormatFactory.getDCFileFormat().read(fichierDC, ana, null); if (ana.containsFatalError()) { retu... [truncated message content] |
From: <de...@us...> - 2009-06-30 22:01:57
|
Revision: 4893 http://fudaa.svn.sourceforge.net/fudaa/?rev=4893&view=rev Author: deniger Date: 2009-06-30 22:01:53 +0000 (Tue, 30 Jun 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/.settings/org.eclipse.wst.validation.prefs trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/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/dao/CrueConverterOPTG.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTG.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/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/STRFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransBrancheOrificeManoeuvre.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransBrancheSaintVenantQruis.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuLimnigramme.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuQapp.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTransNoeudNiveauContinuTarage.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheBarrageFilEau.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheBarrageGenerique.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheNiveauxAssocies.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBranchePdc.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrtManning.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrtStrickler.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumMethodeInterpolation.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Loi.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Regle.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeoCasier.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/LoiFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java trunk/soft/fudaa-crue/dodico/src/main/resources/logback-test.xml trunk/soft/fudaa-crue/dodico/src/main/resources/logback.xml trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/projet/projetMessages.properties trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/validation/validation.txt trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/etu-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-common-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dclm-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dcsp-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dfrt-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dlhy-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dptg-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-drso-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-optg-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-opti-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDCLMFile.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/TestCrueDFRTFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDH.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDLHYFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDPTGFile.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/io/TestCrueETUFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOCALFile.java trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Etude.etu.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Etude2.etu.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-1.dcsp.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-1.dptg.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-1.dpti.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-1.drso.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-2.dpti.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-2.drso.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-3.dptg.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-3.drso.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.dcsp.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.dptg.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.drso.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dclm.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dcsp.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dfrt.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dlhy.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dptg.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dpti.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.drso.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.ocal.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.optg.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.opti.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.ores.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.pcal.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.pnum.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele4-1.drso.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele4.dc trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele4.dcsp.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele4.dptg.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele4.drso.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele5.dc trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueActionChargerScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/messages.properties Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumRegle.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumTypeLoi.java trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest.zip trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTestNew.zip Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumLoiExtrapol.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/RegleHelper.java Modified: trunk/soft/fudaa-crue/dodico/.settings/org.eclipse.wst.validation.prefs =================================================================== --- trunk/soft/fudaa-crue/dodico/.settings/org.eclipse.wst.validation.prefs 2009-06-28 22:19:41 UTC (rev 4892) +++ trunk/soft/fudaa-crue/dodico/.settings/org.eclipse.wst.validation.prefs 2009-06-30 22:01:53 UTC (rev 4893) @@ -1,4 +1,4 @@ -#Tue Jun 23 10:52:28 CEST 2009 +#Tue Jun 30 16:44:44 CEST 2009 DELEGATES_PREFERENCE=delegateValidatorList USER_BUILD_PREFERENCE=enabledBuildValidatorList USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.wst.wsi.ui.internal.WSIMessageValidator; @@ -13,6 +13,6 @@ vals/org.eclipse.wst.dtd.core.dtdDTDValidator/global=TF01 vals/org.eclipse.wst.html.ui.HTMLValidator/global=TF01 vals/org.eclipse.wst.wsdl.validation.wsdl/global=TF02158org.eclipse.wst.wsdl.validation.internal.eclipse.Validator -vals/org.eclipse.wst.xml.core.xml/groups=0107include05111contentType128org.eclipse.core.runtime.xmlT111contentType134org.eclipse.wst.xml.core.xmlsourceT111contentType134org.eclipse.wst.xml.core.xslsourceT111contentType134org.eclipse.jst.jsp.core.tldsourceT07fileext03xmlF0107exclude07113projectNature134org.eclipse.jst.j2ee.ejb.EJBNature113projectNature130org.eclipse.jst.j2ee.EARNature04file08.projectT0104file110.classpathT0104file110.settings/T0207fileext112scenario.xmlF04file120Modele3.scenario.xmlF01 +vals/org.eclipse.wst.xml.core.xml/groups=0107include05111contentType128org.eclipse.core.runtime.xmlT111contentType134org.eclipse.wst.xml.core.xmlsourceT111contentType134org.eclipse.wst.xml.core.xslsourceT111contentType134org.eclipse.jst.jsp.core.tldsourceT07fileext03xmlF0107exclude08113projectNature134org.eclipse.jst.j2ee.ejb.EJBNature113projectNature130org.eclipse.jst.j2ee.EARNature04file08.projectT0104file110.classpathT0104file110.settings/T0207fileext112scenario.xmlF04file120Modele3.scenario.xmlF0104file07classesF01 vals/org.eclipse.wst.xsd.core.xsd/global=FF02162org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator vf.version=3 Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java 2009-06-28 22:19:41 UTC (rev 4892) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/AbstractDaoLoi.java 2009-06-30 22:01:53 UTC (rev 4893) @@ -2,10 +2,13 @@ import com.thoughtworks.xstream.XStream; +import org.fudaa.dodico.crue.io.common.AbstractSingleConverter; +import org.fudaa.dodico.crue.metier.emh.EnumTypeLoi; import org.fudaa.dodico.crue.metier.emh.EvolutionFF; import org.fudaa.dodico.crue.metier.emh.Loi; import org.fudaa.dodico.crue.metier.emh.PtEvolutionFF; -import org.fudaa.dodico.crue.metier.helper.LoiHelper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Classe abstraite qui permet de factoriser les attributs communs de toutes les lois @@ -22,21 +25,45 @@ * La date de début pour une loi Date. Doit être ignoree par les autres lois. */ protected String DateZeroLoiDF; - /** Extrapolation inferieure */ - protected String ExtrapolInf = LoiHelper.EXTRAPOL_CST; - /** Extrapolation superieure */ - protected String ExtrapolSup = LoiHelper.EXTRAPOL_CST; - /** Représente la balise portant le même nom dans le fichier XML */ - protected String VarAbscisse; - /** Représente la balise portant le même nom dans le fichier XML */ - protected String VarOrdonnee; + protected EnumTypeLoi Type; + protected EvolutionFF EvolutionFF; + private final static Logger LOGGER = LoggerFactory.getLogger(AbstractDaoLoi.class); + + private static final class EnumTypeLoiConverter extends AbstractSingleConverter { + + public boolean canConvert(final Class arg0) { + return EnumTypeLoi.class.equals(arg0); + } + + public Object fromString(final String arg0) { + final EnumTypeLoi valueOf = EnumTypeLoi.valueOf(arg0); + if (valueOf == null) { + LOGGER.error("EnumTypeLoiConverter can't convert " + arg0); + } + return valueOf; + } + + public String toString(final Object arg0) { + + return arg0.toString(); + } + + } + + private final static SingleConverterPointFF POINT_FF = new SingleConverterPointFF(); + private final static EnumTypeLoiConverter ENUM_LOI = new EnumTypeLoiConverter(); + public static void configureXstream(final XStream xstream) { xstream.alias("EvolutionFF", EvolutionFF.class); xstream.alias("PointFF", PtEvolutionFF.class); - xstream.registerConverter(new SingleConverterPointFF()); + xstream.aliasAttribute(AbstractDaoLoi.class, "Type", "xsi:type"); + xstream.useAttributeFor(AbstractDaoLoi.class, "Type"); + xstream.useAttributeFor(AbstractDaoLoi.class, "Nom"); + xstream.registerConverter(POINT_FF); + xstream.registerConverter(ENUM_LOI); xstream.addImplicitCollection(EvolutionFF.class, "mpoints"); } @@ -50,12 +77,7 @@ protected static void daoToMetierLoi(final Loi outLoi, final AbstractDaoLoi inLoi) { outLoi.setNom(inLoi.Nom); outLoi.setDescription(inLoi.Description); - // VariableOrdonnee varOrdonnee = new VariableOrdonnee(); - // varOrdonnee.setType(inLoi.VarAbscisse); - outLoi.setVarAbscisse(inLoi.VarAbscisse); - // varOrdonnee = new VariableOrdonnee(); - // varOrdonnee.setType(inLoi.VarOrdonnee); - outLoi.setVarOrdonnee(inLoi.VarOrdonnee); + outLoi.setType(inLoi.Type); outLoi.setEvolutionFF(inLoi.EvolutionFF); } @@ -68,8 +90,7 @@ protected static void metierToDaoLoi(final AbstractDaoLoi outLoi, final Loi inLoi) { outLoi.Nom = inLoi.getNom(); outLoi.Description = inLoi.getDescription(); - outLoi.VarAbscisse = inLoi.getVarAbscisse(); - outLoi.VarOrdonnee = inLoi.getVarOrdonnee(); + outLoi.Type = inLoi.getType(); outLoi.EvolutionFF = inLoi.getEvolutionFF(); } } \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java 2009-06-28 22:19:41 UTC (rev 4892) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCLM.java 2009-06-30 22:01:53 UTC (rev 4893) @@ -235,7 +235,7 @@ } else { loi = (LoiDF) getLoiFromReferenceDLHY(eltPersist.HydrogrammeQapp.NomRef, dataLinked, analyzer); } - eltMetier.setHydrogrammeQapp(loi); + eltMetier.setLoiTQapp(loi); noeudMetier.addInfosEMH(eltMetier); eltMetier.setEmh(noeudMetier); calculTransMetier.addCalcTransNoeudNiveauContinuQapp(eltMetier); @@ -258,7 +258,7 @@ } else { loi = (LoiDF) getLoiFromReferenceDLHY(eltPersist.Limnigramme.NomRef, dataLinked, analyzer); } - eltMetier.setLimnigramme(loi); + eltMetier.setLoiTZ(loi); // listeDonCLimMNoeudNiveauContinu.add(eltMetier); calculTransMetier.addCalcTransNoeudNiveauContinuLimnigramme(eltMetier); @@ -281,7 +281,7 @@ } else { loi = (LoiFF) getLoiFromReferenceDLHY(eltPersist.Tarrage.NomRef, dataLinked, analyzer); } - eltMetier.setTarage(loi); + eltMetier.setLoiQZ(loi); calculTransMetier.addCalcTransNoeudNiveauContinuTarage(eltMetier); } @@ -301,7 +301,7 @@ } else { loi = (LoiDF) getLoiFromReferenceDLHY(eltPersist.Manoeuvre.NomRef, dataLinked, analyzer); } - eltMetier.setManoeuvre(loi); + eltMetier.setLoiTOuv(loi); eltMetier.setSensOuv(eltPersist.SensOuv); calculTransMetier.addCalcTransBrancheOrificeManoeuvre(eltMetier); } @@ -323,7 +323,7 @@ } else { loi = (LoiDF) getLoiFromReferenceDLHY(eltPersist.HydrogrammeQruis.NomRef, dataLinked, analyzer); } - eltMetier.setHydrogrammeQruis(loi); + eltMetier.setLoiTQruis(loi); calculTransMetier.addCalcTransBrancheSaintVenantQruis(eltMetier); } 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-06-28 22:19:41 UTC (rev 4892) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCSP.java 2009-06-30 22:01:53 UTC (rev 4893) @@ -89,10 +89,10 @@ final DaoBrancheBarrageFilEau br = (DaoBrancheBarrageFilEau) branchePersist; // -- recuperation de la Loi Regime denoye --// - if (((DonCalcSansPrtBrancheBarrageFilEau) dataCalc).getRegimeDenoye() != null) { + if (((DonCalcSansPrtBrancheBarrageFilEau) dataCalc).getLoiQZam() != null) { // - remplissage de la loi RegimeDenoye--// - final LoiFF loi = ((DonCalcSansPrtBrancheBarrageFilEau) dataCalc).getRegimeDenoye(); + final LoiFF loi = ((DonCalcSansPrtBrancheBarrageFilEau) dataCalc).getLoiQZam(); br.RegimeDenoye = new DaoRegimeDenoye(); AbstractDaoLoi.metierToDaoLoi(br.RegimeDenoye, loi); } @@ -114,17 +114,17 @@ final DaoBrancheBarrageGenerique br = (DaoBrancheBarrageGenerique) branchePersist; // -- recuperation de la loi RegimeDenoye --// - if (((DonCalcSansPrtBrancheBarrageGenerique) dataCalc).getRegimeDenoye() != null) { - final LoiFF loi = ((DonCalcSansPrtBrancheBarrageGenerique) dataCalc).getRegimeDenoye(); + if (((DonCalcSansPrtBrancheBarrageGenerique) dataCalc).getLoiQZam() != null) { + final LoiFF loi = ((DonCalcSansPrtBrancheBarrageGenerique) dataCalc).getLoiQZam(); br.RegimeDenoye = new DaoRegimeDenoye(); AbstractDaoLoi.metierToDaoLoi(br.RegimeDenoye, loi); } // -- recuperation de la loi RegimeNoye --// - if (((DonCalcSansPrtBrancheBarrageGenerique) dataCalc).getRegimeNoye() != null) { + if (((DonCalcSansPrtBrancheBarrageGenerique) dataCalc).getLoiQDz() != null) { // - remplissage de la loi RegimeDenoye--// - final LoiFF loi = ((DonCalcSansPrtBrancheBarrageGenerique) dataCalc).getRegimeNoye(); + final LoiFF loi = ((DonCalcSansPrtBrancheBarrageGenerique) dataCalc).getLoiQDz(); br.RegimeNoye = new DaoRegimeNoye(); AbstractDaoLoi.metierToDaoLoi(br.RegimeNoye, loi); } @@ -164,10 +164,10 @@ final DaoBranchePdc br = (DaoBranchePdc) branchePersist; // -- recuperation de la formule --// - if (((DonCalcSansPrtBranchePdc) dataCalc).getPdc() != null) { + if (((DonCalcSansPrtBranchePdc) dataCalc).getLoiQPdc() != null) { // - remplissage de la loi RegimeDenoye--// - final LoiFF loi = ((DonCalcSansPrtBranchePdc) dataCalc).getPdc(); + final LoiFF loi = ((DonCalcSansPrtBranchePdc) dataCalc).getLoiQPdc(); br.Pdc = new DaoPdc(); AbstractDaoLoi.metierToDaoLoi(br.Pdc, loi); } @@ -186,10 +186,10 @@ final DaoBrancheNiveauxAssocies br = (DaoBrancheNiveauxAssocies) branchePersist; // -- recuperation de la formule --// - if (((DonCalcSansPrtBrancheNiveauxAssocies) dataCalc).getZasso() != null) { + if (((DonCalcSansPrtBrancheNiveauxAssocies) dataCalc).getLoiZavZam() != null) { // - remplissage de la loi RegimeDenoye--// - final LoiFF loi = ((DonCalcSansPrtBrancheNiveauxAssocies) dataCalc).getZasso(); + final LoiFF loi = ((DonCalcSansPrtBrancheNiveauxAssocies) dataCalc).getLoiZavZam(); br.Zasso = new DaoZasso(); AbstractDaoLoi.metierToDaoLoi(br.Zasso, loi); } @@ -402,7 +402,7 @@ if (br.Pdc != null) { final LoiFF newLoi = new LoiFF(); AbstractDaoLoi.daoToMetierLoi(newLoi, br.Pdc); - dataCalcul.setPdc(newLoi); + dataCalcul.setLoiQPdc(newLoi); } @@ -419,7 +419,7 @@ if (br.Zasso != null) { final LoiFF newLoi = new LoiFF(); AbstractDaoLoi.daoToMetierLoi(newLoi, br.Zasso); - dataCalcul.setZasso(newLoi); + dataCalcul.setLoiZavZam(newLoi); } dataCalcul.setQLimInf(br.QLimInf); @@ -437,7 +437,7 @@ if (br.RegimeDenoye != null) { final LoiFF newLoi = new LoiFF(); AbstractDaoLoi.daoToMetierLoi(newLoi, br.RegimeDenoye); - dataCalcul.setRegimeDenoye(newLoi); + dataCalcul.setLoiQZam(newLoi); } dataCalcul.setQLimInf(br.QLimInf); @@ -458,14 +458,14 @@ if (br.RegimeDenoye != null) { final LoiFF newLoi = new LoiFF(); AbstractDaoLoi.daoToMetierLoi(newLoi, br.RegimeDenoye); - dataCalcul.setRegimeDenoye(newLoi); + dataCalcul.setLoiQZam(newLoi); } // -- recuperation de la Loi RegimeNoye --// if (br.RegimeNoye != null) { final LoiFF newLoi = new LoiFF(); AbstractDaoLoi.daoToMetierLoi(newLoi, br.RegimeNoye); - dataCalcul.setRegimeNoye(newLoi); + dataCalcul.setLoiQDz(newLoi); } 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-06-28 22:19:41 UTC (rev 4892) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTG.java 2009-06-30 22:01:53 UTC (rev 4893) @@ -280,7 +280,7 @@ if (frottement != null) { litNum.setFrot(frottement); } else { - analyser.addInfo("io.dptg.profil.ref.error", profil, idFrottement); + analyser.addError("io.dptg.profil.ref.error", profil, idFrottement); } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTG.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTG.java 2009-06-28 22:19:41 UTC (rev 4892) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTG.java 2009-06-30 22:01:53 UTC (rev 4893) @@ -5,22 +5,47 @@ package org.fudaa.dodico.crue.io.dao; import java.util.ArrayList; +import java.util.Map; +import org.apache.commons.collections.BidiMap; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.bidimap.DualHashBidiMap; import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.dodico.crue.io.common.CrueData; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTG.*; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTG.DaoPlanimetrageNbrPdzCst; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTG.Planimetrage; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTG.RegleDAO; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTG.RegleSeuilDetect; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureOPTG.RegleVarPdxMax; +import org.fudaa.dodico.crue.metier.emh.EnumRegle; import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; import org.fudaa.dodico.crue.metier.emh.PlanimetrageNbrPdzCst; import org.fudaa.dodico.crue.metier.emh.Regle; -import org.fudaa.dodico.crue.metier.helper.RegleHelper; +import org.fudaa.dodico.crue.metier.emh.ValParamDouble; +import org.fudaa.dodico.crue.metier.emh.ValParamEntier; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * */ public class CrueConverterOPTG implements CrueConverter<CrueDaoOPTG, OrdPrtGeoModeleBase> { - public OrdPrtGeoModeleBase getConverterData(CrueData in) { + private BidiMap getCorrespondance() { + final BidiMap daoToRegle = new DualHashBidiMap(); + daoToRegle.put(CrueDaoStructureOPTG.RegleDecal.class, EnumRegle.DECAL); + daoToRegle.put(CrueDaoStructureOPTG.RegleLargSeuil.class, EnumRegle.LARG_SEUIL); + daoToRegle.put(CrueDaoStructureOPTG.ReglePdxMax.class, EnumRegle.PDX_MAX); + daoToRegle.put(CrueDaoStructureOPTG.ReglePenteMax.class, EnumRegle.PENTE_MAX); + daoToRegle.put(CrueDaoStructureOPTG.ReglePenteRupture.class, EnumRegle.PENTE_RUPTURE); + daoToRegle.put(CrueDaoStructureOPTG.RegleProfPlat.class, EnumRegle.PROF_PLAT); + daoToRegle.put(CrueDaoStructureOPTG.RegleRebDeb.class, EnumRegle.REB_DEB); + daoToRegle.put(CrueDaoStructureOPTG.RegleVarPdxMax.class, EnumRegle.VAR_PDX_MAX); + + return daoToRegle; + } + + public OrdPrtGeoModeleBase getConverterData(final CrueData in) { return in.getPretraitementsGeom(); } @@ -33,36 +58,18 @@ planiMetier.setNbrPdz((int) dao.Planimetrage.PlanimetrageNbrPdzCst.NbrPdz); ordres.setPlanimetrage(planiMetier); } - + final Map classToEnum = getCorrespondance(); if (dao.Regles != null) { // ordres.setListeRegles(new ArrayList<Regle>()); for (final RegleDAO regleDAO : dao.Regles) { - - final Regle regle = new Regle(); - + final Regle regle = new Regle((EnumRegle) classToEnum.get(regleDAO.getClass())); regle.setActive(regleDAO.IsActive); if (regleDAO instanceof RegleSeuilDetect) { - regle.setSeuilDetect(((RegleSeuilDetect) regleDAO).SeuilDetect); - } - - if (regleDAO instanceof RegleRebDeb) { - regle.setType(RegleHelper.RegleRebDeb); - } else if (regleDAO instanceof RegleProfPlat) { - regle.setType(RegleHelper.RegleProfPlat); - } else if (regleDAO instanceof ReglePenteRupture) { - regle.setType(RegleHelper.ReglePenteRupture); - } else if (regleDAO instanceof RegleDecal) { - regle.setType(RegleHelper.RegleDecal); - } else if (regleDAO instanceof RegleLargSeuil) { - regle.setType(RegleHelper.RegleLargSeuil); - } else if (regleDAO instanceof ReglePdxMax) { - regle.setType(RegleHelper.ReglePdxMax); + regle.setValParam(new ValParamDouble("Pm_" + regle.getNom(), ((RegleSeuilDetect) regleDAO).getValue())); } else if (regleDAO instanceof RegleVarPdxMax) { - regle.setType(RegleHelper.RegleVarPdxMax); - } else if (regleDAO instanceof ReglePenteMax) { - regle.setType(RegleHelper.ReglePenteMax); + final RegleVarPdxMax pdx = (RegleVarPdxMax) regleDAO; + regle.setValParam(new ValParamEntier("Pm_" + regle.getNom(), pdx.getValue())); } - ordres.addRegle(regle); } } @@ -72,6 +79,8 @@ return ordres; } + private final static Logger LOGGER = LoggerFactory.getLogger(CrueConverterOPTG.class); + public CrueDaoOPTG convertMetierToDao(final OrdPrtGeoModeleBase metier, final CtuluAnalyze analyser) { final CrueDaoOPTG dao = new CrueDaoOPTG(); @@ -83,32 +92,21 @@ if (CollectionUtils.isNotEmpty(metier.getRegle())) { dao.Regles = new ArrayList<RegleDAO>(); - + final BidiMap classToEnum = getCorrespondance(); for (final Regle regleMetier : metier.getRegle()) { - + final Class daoClass = (Class) classToEnum.getKey(regleMetier.getType()); RegleDAO reglePersist = null; - - if (regleMetier.getType().equals(RegleHelper.RegleRebDeb)) { - reglePersist = new RegleRebDeb(); - } else if (regleMetier.getType().equals(RegleHelper.RegleProfPlat)) { - reglePersist = new RegleProfPlat(); - } else if (regleMetier.getType().equals(RegleHelper.ReglePenteRupture)) { - reglePersist = new ReglePenteRupture(); - } else if (regleMetier.getType().equals(RegleHelper.RegleDecal)) { - reglePersist = new RegleDecal(); - } else if (regleMetier.getType().equals(RegleHelper.RegleLargSeuil)) { - reglePersist = new RegleLargSeuil(); - } else if (regleMetier.getType().equals(RegleHelper.ReglePdxMax)) { - reglePersist = new ReglePdxMax(); - } else if (regleMetier.getType().equals(RegleHelper.RegleVarPdxMax)) { - reglePersist = new RegleVarPdxMax(); - } else if (regleMetier.getType().equals(RegleHelper.ReglePenteMax)) { - reglePersist = new ReglePenteMax(); + try { + reglePersist = (RegleDAO) daoClass.newInstance(); + } catch (final Exception e) { + LOGGER.error("convertMetierToDao", e); } reglePersist.IsActive = regleMetier.isActive(); - if (reglePersist instanceof RegleSeuilDetect) { - ((RegleSeuilDetect) reglePersist).SeuilDetect = regleMetier.getSeuilDetect(); + ((RegleSeuilDetect) reglePersist).setValue(((ValParamDouble) regleMetier.getValParam()).getValeur()); + } else if (reglePersist instanceof RegleVarPdxMax) { + final RegleVarPdxMax pdx = (RegleVarPdxMax) reglePersist; + pdx.setValue(((ValParamEntier) regleMetier.getValParam()).getValeur()); } dao.Regles.add(reglePersist); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java 2009-06-28 22:19:41 UTC (rev 4892) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java 2009-06-30 22:01:53 UTC (rev 4893) @@ -55,7 +55,7 @@ xstream.alias("RegimeNoye", DaoRegimeNoye.class); AbstractDaoLoi.configureXstream(xstream); xstream.omitField(AbstractDaoLoi.class, "DateZeroLoiDF"); - xstream.omitField(AbstractDaoLoi.class, "Nom"); + // xstream.omitField(AbstractDaoLoi.class, "Nom"); // les enum. } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTG.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTG.java 2009-06-28 22:19:41 UTC (rev 4892) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTG.java 2009-06-30 22:01:53 UTC (rev 4893) @@ -43,7 +43,9 @@ } public static abstract class RegleSeuilDetect extends RegleDAO { - double SeuilDetect; + public abstract double getValue(); + + public abstract void setValue(double v); } /** @@ -53,18 +55,111 @@ */ public static class RegleRebDeb extends RegleDAO {} - public static class RegleProfPlat extends RegleSeuilDetect {} + public static class RegleProfPlat extends RegleSeuilDetect { + double Pm_ProfPlat; - public static class ReglePenteRupture extends RegleSeuilDetect {} + @Override + public double getValue() { + return Pm_ProfPlat; + } - public static class RegleDecal extends RegleSeuilDetect {} + @Override + public void setValue(double v) { - public static class RegleLargSeuil extends RegleSeuilDetect {} + Pm_ProfPlat = v; + } - public static class ReglePdxMax extends RegleSeuilDetect {} + } - public static class RegleVarPdxMax extends RegleSeuilDetect {} + public static class ReglePenteRupture extends RegleSeuilDetect { + double Pm_PenteRupture; - public static class ReglePenteMax extends RegleSeuilDetect {} + @Override + public double getValue() { + return Pm_PenteRupture; + } + @Override + public void setValue(double v) { + + Pm_PenteRupture = v; + } + + } + + public static class RegleDecal extends RegleSeuilDetect { + double Pm_Decal; + + @Override + public double getValue() { + return Pm_Decal; + } + + @Override + public void setValue(double v) { + + Pm_Decal = v; + } + + } + + public static class RegleLargSeuil extends RegleSeuilDetect { + double Pm_LargSeuil; + + @Override + public double getValue() { + return Pm_LargSeuil; + } + + @Override + public void setValue(double v) { + + Pm_LargSeuil = v; + } + + } + + public static class ReglePdxMax extends RegleSeuilDetect { + double Pm_PdxMax; + + @Override + public double getValue() { + return Pm_PdxMax; + } + + @Override + public void setValue(double v) { + Pm_PdxMax = v; + } + + } + + public static class RegleVarPdxMax extends RegleDAO { + int Pm_VarPdxMax; + + public int getValue() { + return Pm_VarPdxMax; + } + + public void setValue(int v) { + Pm_VarPdxMax = v; + } + + } + + public static class ReglePenteMax extends RegleSeuilDetect { + double Pm_PenteMax; + + @Override + public double getValue() { + return Pm_PenteMax; + } + + @Override + public void setValue(double v) { + Pm_PenteMax = v; + } + + } + } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java 2009-06-28 22:19:41 UTC (rev 4892) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java 2009-06-30 22:01:53 UTC (rev 4893) @@ -18,6 +18,7 @@ xstream.alias(CrueFileType.OPTI.toString(), CrueDaoOPTI.class); // xstream.addImplicitCollection(CrueDaoOPTI.class, "listeInterpol"); xstream.alias("InterpolLineaire", InterpolLineaire.class); + xstream.alias("InterpolBaignoire", InterpolBaignoire.class); xstream.alias("InterpolSaintVenant", InterpolSaintVenant.class); } @@ -58,28 +59,45 @@ } /** + * methode InterpolLineaire + * + * @author Adrien Hadoux + */ + public static class InterpolBaignoire implements MethodesInterpolations { + public EnumMethodeInterpolation getType() { + return EnumMethodeInterpolation.BAIGNOIRE; + } + + public double getSeuilDetect() { + return 0; + } + + public void setSeuilDetect(double s) {} + } + + /** * methode InterpolSaintVenant * * @author Adrien Hadoux */ public static class InterpolSaintVenant implements MethodesInterpolations { - double SeuilDetect; + double Pm_TolNdZ; public EnumMethodeInterpolation getType() { return EnumMethodeInterpolation.SAINT_VENANT; } public double getSeuilDetect() { - return SeuilDetect; + return Pm_TolNdZ; } public void setSeuilDetect(double s) { - SeuilDetect = s; + Pm_TolNdZ = s; } public InterpolSaintVenant(double seuilDetect) { super(); - SeuilDetect = seuilDetect; + Pm_TolNdZ = seuilDetect; } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java 2009-06-28 22:19:41 UTC (rev 4892) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java 2009-06-30 22:01:53 UTC (rev 4893) @@ -19,6 +19,8 @@ import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.common.Messages; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.xml.sax.InputSource; /** @@ -90,7 +92,7 @@ return xsdId; } - protected final void configureXStream(final XStream xstream, CtuluAnalyze analyse) { + protected final void configureXStream(final XStream xstream, final CtuluAnalyze analyse) { daoConfigurer.configureXStream(xstream, analyse); } @@ -108,7 +110,7 @@ return xsdPath; } - protected XStream initXmlParser(CtuluAnalyze analyse) { + protected XStream initXmlParser(final CtuluAnalyze analyse) { final XStream xstream = new XStream(new DomDriver()); // -- creation des alias pour que ce soit + parlant dans le xml file --// @@ -136,10 +138,10 @@ public boolean isValide(final File xml, final CtuluAnalyze res) { res.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); try { - return isValide(xml.toURL(), res); + return isValide(xml.toURI().toURL(), res); } catch (final MalformedURLException e) { res.manageException(e); - FuLogCrue.error(e); + LOGGER.error("isValide", e); return false; } } @@ -182,20 +184,22 @@ } + private final static Logger LOGGER = LoggerFactory.getLogger(CrueXmlReaderWriterImpl.class); + /** * @param fichier * @return */ public D readDao(final File fichier, final CtuluAnalyze analyser, final Object dataLinked) { - if (!isValide(fichier, analyser)) { return null; } + // if (!isValide(fichier, analyser)) { return null; } FileInputStream in = null; D newData = null; try { in = new FileInputStream(fichier); newData = readDao(in, analyser, dataLinked); } catch (final FileNotFoundException e) { - FuLogCrue.debug(e.getMessage()); - String path = fichier == null ? "null" : fichier.getAbsolutePath(); + LOGGER.debug("readDao", e); + final String path = fichier == null ? "null" : fichier.getAbsolutePath(); analyser.addError("io.FileNotFoundException.error", path); } finally { CtuluLibFile.close(in); @@ -218,7 +222,7 @@ newData = (D) parser.fromXML(contentRead); } catch (final Exception e) { - FuLogCrue.debug("io.xml.error", e); + LOGGER.debug("io.xml.error", e); analyser.addError("io.xml.error", e.getMessage()); } return newData; @@ -244,7 +248,7 @@ analyser.addError("file.url.null.error"); return null; } - if (!isValide(url, analyser)) { return null; } + // if (!isValide(url, analyser)) { return null; } InputStream in = null; D newData = null; try { 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-06-28 22:19:41 UTC (rev 4892) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-06-30 22:01:53 UTC (rev 4893) @@ -20,7 +20,6 @@ import org.fudaa.dodico.crue.metier.FactoryEMHRelation; import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.metier.helper.EMHHelper; -import org.fudaa.dodico.crue.metier.helper.RegleHelper; import org.fudaa.dodico.crue.validation.CruePrefix; /** @@ -368,10 +367,10 @@ final List<PtEvolutionFF> listePoints = new ArrayList<PtEvolutionFF>(); listeEvolution.setPtEvolutionFF(listePoints); final LoiFF newLoi = new LoiFF(); - newLoi.setVarAbscisse("Qpil"); - newLoi.setVarOrdonnee("Zam"); + newLoi.setNom(CruePrefix.addPrefixIfNeeded(EnumTypeLoi.LoiQZam, idBranche)); + newLoi.setType(EnumTypeLoi.LoiQZam); newLoi.setEvolutionFF(listeEvolution); - dataDCSP.setRegimeDenoye(newLoi); + dataDCSP.setLoiQZam(newLoi); dataDCSP.setElemSeuil(new ArrayList<ElemSeuil>()); String nomSectionPilote = null; // -- la liste des sections branches --// @@ -396,7 +395,7 @@ final PtEvolutionFF pointFF = new PtEvolutionFF(); pointFF.setX(in_.doubleField(i++)); pointFF.setY(in_.doubleField(i)); - dataDCSP.getRegimeDenoye().getEvolutionFF().getPtEvolutionFF().add(pointFF); + dataDCSP.getLoiQZam().getEvolutionFF().getPtEvolutionFF().add(pointFF); } } else if (typeLigne.toUpperCase().equals(CrueIODico.BRANCHE_PROF)) { final List<CatEMHSection> sections = new ArrayList<CatEMHSection>(); @@ -486,14 +485,18 @@ List<PtEvolutionFF> listePoints = new ArrayList<PtEvolutionFF>(); listeEvolution.setPtEvolutionFF(listePoints); LoiFF newLoi = new LoiFF(); + newLoi.setNom(CruePrefix.getNom(EnumTypeLoi.LoiQZam, idBranche)); + newLoi.setType(EnumTypeLoi.LoiQZam); newLoi.setEvolutionFF(listeEvolution); - dataDCSP.setRegimeDenoye(newLoi); + dataDCSP.setLoiQZam(newLoi); listeEvolution = new EvolutionFF(); listePoints = new ArrayList<PtEvolutionFF>(); listeEvolution.setPtEvolutionFF(listePoints); newLoi = new LoiFF(); + newLoi.setNom(CruePrefix.getNom(EnumTypeLoi.LoiQDz, idBranche)); + newLoi.setType(EnumTypeLoi.LoiQDz); newLoi.setEvolutionFF(listeEvolution); - dataDCSP.setRegimeNoye(newLoi); + dataDCSP.setLoiQDz(newLoi); String nomSectionPilote = null; // -- la liste des sections branches --// final List<List<CatEMHSection>> listeSectionBranche = new ArrayList<List<CatEMHSection>>(); @@ -517,7 +520,7 @@ final PtEvolutionFF pointFF = new PtEvolutionFF(); pointFF.setX(in_.doubleField(i++)); pointFF.setY(in_.doubleField(i)); - dataDCSP.getRegimeDenoye().getEvolutionFF().getPtEvolutionFF().add(pointFF); + dataDCSP.getLoiQZam().getEvolutionFF().getPtEvolutionFF().add(pointFF); } } else if (typeLigne.toUpperCase().equals(CrueIODico.BRANCHE_DZQ)) { // ex: DZ/Q(o) dZ1 Q1 dZ2 Q2… pour Noye @@ -525,7 +528,7 @@ final PtEvolutionFF pointFF = new PtEvolutionFF(); pointFF.setX(in_.doubleField(i++)); pointFF.setY(in_.doubleField(i)); - dataDCSP.getRegimeNoye().getEvolutionFF().getPtEvolutionFF().add(pointFF); + dataDCSP.getLoiQDz().getEvolutionFF().getPtEvolutionFF().add(pointFF); } } if (typeLigne.toUpperCase().equals(CrueIODico.BRANCHE_PROF)) { @@ -609,10 +612,10 @@ final List<PtEvolutionFF> listePoints = new ArrayList<PtEvolutionFF>(); listeEvolution.setPtEvolutionFF(listePoints); final LoiFF newLoi = new LoiFF(); + newLoi.setNom(CruePrefix.addPrefixIfNeeded(EnumTypeLoi.LoiZavZam, idBranche)); newLoi.setEvolutionFF(listeEvolution); - newLoi.setVarAbscisse("Zam"); - newLoi.setVarOrdonnee("Zav"); - dataDCSP.setZasso(newLoi); + newLoi.setType(EnumTypeLoi.LoiZavZam); + dataDCSP.setLoiZavZam(newLoi); } final double qmin = in_.doubleField(1); final double qmax = in_.doubleField(2); @@ -625,7 +628,7 @@ final PtEvolutionFF pointFF = new PtEvolutionFF(); pointFF.setX(in_.doubleField(i++)); pointFF.setY(in_.doubleField(i)); - dataDCSP.getZasso().getEvolutionFF().getPtEvolutionFF().add(pointFF); + dataDCSP.getLoiZavZam().getEvolutionFF().getPtEvolutionFF().add(pointFF); } } else @@ -773,22 +776,14 @@ if (typeLigne.toUpperCase().equals(CrueIODico.BRANCHE_DZQ)) { // ex DZ/Q 0 0 0.03 300 if (dataDCSP == null) { - dataDCSP = new DonCalcSansPrtBranchePdc(); - final EvolutionFF listeEvolution = new EvolutionFF(); - final List<PtEvolutionFF> listePoints = new ArrayList<PtEvolutionFF>(); - listeEvolution.setPtEvolutionFF(listePoints); - final LoiFF newLoi = new LoiFF(); - newLoi.setEvolutionFF(listeEvolution); - newLoi.setVarAbscisse("Q"); - newLoi.setVarOrdonnee("Dz"); - dataDCSP.setPdc(newLoi); + dataDCSP = EMHFactory.createDCSPBranchePdcCrue9(idBranche); } for (int i = 1; i < in_.getNumberOfFields(); i++) { final PtEvolutionFF pointFF = new PtEvolutionFF(); pointFF.setX(in_.doubleField(i++)); pointFF.setY(in_.doubleField(i)); - dataDCSP.getPdc().getEvolutionFF().getPtEvolutionFF().add(pointFF); + dataDCSP.getLoiQPdc().getEvolutionFF().getPtEvolutionFF().add(pointFF); } } else { @@ -1360,7 +1355,7 @@ // ex: PROFCAS 400.0000 final double longueur = in_.doubleField(1); dataDPTG = new DonPrtGeoProfilCasier(); - dataDPTG.setNom("P_" + newCasier.getNom() + "_" + cptDPTG++); + dataDPTG.setNom(CruePrefix.P_PROFIL_CASIER + newCasier.getNom()); dataDPTG.setLongueur(longueur); } @@ -2063,67 +2058,45 @@ } metier.getParamNumModeleBase().getParamNumCalcTrans().setThetaPreissmann(in_.doubleField(2)); } else if (upperCase.equals(CrueIODico.R_SLARGE)) { - regle = new Regle(); - regle.setType(RegleHelper.RegleLargSeuil); + regle = new Regle(EnumRegle.LARG_SEUIL); regle.setActive(true); - final double val = in_.doubleField(1); - regle.setSeuilDetect(val); + regle.setSeuilDetect(in_.doubleField(1)); } else if (upperCase.equals(CrueIODico.R_PRPLAT)) { - regle = new Regle(); - regle.setType(RegleHelper.RegleProfPlat); + regle = new Regle(EnumRegle.PROF_PLAT); regle.setActive(true); - final double val = in_.doubleField(1); - regle.setSeuilDetect(val); - + regle.setSeuilDetect(in_.doubleField(1) / 100); } else if (upperCase.equals(CrueIODico.R_RUPENT)) { - - regle = new Regle(); - regle.setType(RegleHelper.ReglePenteRupture); + regle = new Regle(EnumRegle.PENTE_RUPTURE); regle.setActive(true); final double val = in_.doubleField(1); regle.setSeuilDetect(val); } else if (upperCase.equals(CrueIODico.R_DECAL)) { - - regle = new Regle(); - regle.setType(RegleHelper.RegleDecal); + regle = new Regle(EnumRegle.DECAL); regle.setActive(true); - final double val = in_.doubleField(1); - regle.setSeuilDetect(val); + regle.setSeuilDetect(in_.doubleField(1)); } else if (upperCase.equals(CrueIODico.R_REBDEB)) { - - regle = new Regle(); - regle.setType(RegleHelper.RegleRebDeb); + regle = new Regle(EnumRegle.REB_DEB); regle.setActive(true); - final double val = in_.doubleField(1); - regle.setSeuilDetect(val); + regle.setSeuilDetect(in_.doubleField(1)); } else if (upperCase.equals(CrueIODico.R_DXMAX)) { - - regle = new Regle(); - regle.setType(RegleHelper.ReglePdxMax); + regle = new Regle(EnumRegle.PDX_MAX); regle.setActive(true); - final double val = in_.doubleField(1); - regle.setSeuilDetect(val); + regle.setSeuilDetect(in_.doubleField(1)); } else if (upperCase.equals(CrueIODico.R_VDXMAX)) { - - regle = new Regle(); - regle.setType(RegleHelper.RegleVarPdxMax); + regle = new Regle(EnumRegle.VAR_PDX_MAX); regle.setActive(true); - final double val = in_.doubleField(1); - regle.setSeuilDetect(val); + regle.setSeuilDetect(in_.doubleField(1)); } else if (upperCase.equals(CrueIODico.R_PENMAX)) { - - regle = new Regle(); - regle.setType(RegleHelper.ReglePenteMax); + regle = new Regle(EnumRegle.PENTE_MAX); regle.setActive(true); - final double val = in_.doubleField(1); - regle.setSeuilDetect(val); + regle.setSeuilDetect(in_.doubleField(1) / 100); } else { analyze_.addErrorFromFile(CrueNotSupportedException.MSG_CARTE_TYPE_UNKNOWN, in_.getLineNumber()); 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-06-28 22:19:41 UTC (rev 4892) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java 2009-06-30 22:01:53 UTC (rev 4893) @@ -15,7 +15,6 @@ import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.metier.helper.EMHHelper; import org.fudaa.dodico.crue.metier.helper.LoiHelper; -import org.fudaa.dodico.crue.metier.helper.RegleHelper; /** * Writer de la structure DC. @@ -149,26 +148,41 @@ for (final Regle regle : metier.getPretraitementsGeom().getRegle()) { vide = false; - writeCom(regle.getType()); - if (RegleHelper.RegleLargSeuil.equals(regle.getType())) { + writeCom(regle.getType().toString()); + + double val = 0; + if (!regle.getType().equals(EnumRegle.VAR_PDX_MAX) && regle.getValParam() != null) { + val = regle.getSeuilDetect(); + } + + if (EnumRegle.LARG_SEUIL.equals(regle.getType())) { fortranWriter_.stringField(0, CrueIODico.R_SLARGE); - } else if (RegleHelper.RegleProfPlat.equals(regle.getType())) { + } else if (EnumRegle.PROF_PLAT.equals(regle.getType())) { fortranWriter_.stringField(0, CrueIODico.R_PRPLAT); - } else if (RegleHelper.ReglePenteRupture.equals(regle.getType())) { + val = val * 100; + } else if (EnumRegle.PENTE_RUPTURE.equals(regle.getType())) { fortranWriter_.stringField(0, CrueIODico.R_RUPENT); - } else if (RegleHelper.RegleDecal.equals(regle.getType())) { + } else if (EnumRegle.DECAL.equals(regle.getType())) { fortranWriter_.stringField(0, CrueIODico.R_DECAL); - } else if (RegleHelper.RegleRebDeb.equals(regle.getType())) { + } else if (EnumRegle.REB_DEB.equals(regle.getType())) { fortranWriter_.stringField(0, CrueIODico.R_REBDEB); - } else if (RegleHelper.ReglePdxMax.equals(regle.getType())) { + } else if (EnumRegle.PDX_MAX.equals(regle.getType())) { fortranWriter_.stringField(0, CrueIODico.R_DXMAX); - } else if (RegleHelper.RegleVarPdxMax.equals(regle.getType())) { + } else if (EnumRegle.VAR_PDX_MAX.equals(regle.getType())) { fortranWriter_.stringField(0, CrueIODico.R_VDXMAX); - } else if (RegleHelper.ReglePenteMax.equals(regle.getType())) { + } else if (EnumRegle.PENTE_MAX.equals(regle.getType())) { + val = val * 100; fortranWriter_.stringField(0, CrueIODico.R_PENMAX); } - - fortranWriter_.doubleField(1, regle.getSeuilDetect()); + if (regle.getType().equals(EnumRegle.VAR_PDX_MAX)) { + int valEntier = 0; + if (regle.getValParam() != null) { + valEntier = ((ValParamEntier) regle.getValParam()).getValeur(); + } + fortranWriter_.intField(1, valEntier); + } else { + fortranWriter_.doubleField(1, val); + } fortranWriter_.writeFields(); } @@ -1019,14 +1033,14 @@ if (don instanceof DonCalcSansPrtBranchePdc) { // TODO super lourd... final DonCalcSansPrtBranchePdc dcsp = (DonCalcSansPrtBranchePdc) don; - if (LoiHelper.isNotEmpty(dcsp.getPdc())) { + if (LoiHelper.isNotEmpty(dcsp.getLoiQPdc())) { int indiceFortran = 0; fortranWriter_.stringField(indiceFortran++, CrueIODico.BRANCHE_DZQ); int tailleTotale = 10; - for (final PtEvolutionFF pt : dcsp.getPdc().getEvolutionFF().getPtEvolutionFF()) { + for (final PtEvolutionFF pt : dcsp.getLoiQPdc().getEvolutionFF().getPtEvolutionFF()) { if (tailleTotale + 10 >= tailleMaxLine) { fortranWriter_.writeFields(); @@ -1123,15 +1137,15 @@ // --denoye--// // ex: Z/Q(o) Z1 Q1 Z2 Q2… pour Denoye - if (LoiHelper.isNotEmpty(dcsp.getRegimeDenoye())) { - writeListeEvolutionFF(CrueIODico.BRANCHE_ZQ, dcsp.getRegimeDenoye().getEvolutionFF().getPtEvolutionFF()); + if (LoiHelper.isNotEmpty(dcsp.getLoiQZam())) { + writeListeEvolutionFF(CrueIODico.BRANCHE_ZQ, dcsp.getLoiQZam().getEvolutionFF().getPtEvolutionFF()); } // --noye --// // ex: DZ/Q(o) dZ1 Q1 dZ2 Q2… pour Noye - if (LoiHelper.isNotEmpty(dcsp.getRegimeNoye())) { - writeListeEvolutionFF(CrueIODico.BRANCHE_DZQ, dcsp.getRegimeNoye().getEvolutionFF().getPtEvolutionFF()); + if (LoiHelper.isNotEmpty(dcsp.getLoiQDz())) { + writeListeEvolutionFF(CrueIODico.BRANCHE_DZQ, dcsp.getLoiQDz().getEvolutionFF().getPtEvolutionFF()); } // -- on ecrit les profils de reference et on ecrit pas les distance et autres infos, si on en a --// @@ -1172,9 +1186,9 @@ // --denoye--// // ex: ZAM/ZAV(o) zam1 zav1 zam2 zav2 - if (dcsp.getZasso() != null && dcsp.getZasso().getEvolutionFF() != null - && dcsp.getZasso().getEvolutionFF().getPtEvolutionFF() != null) { - writeListeEvolutionFF(CrueIODico.BRANCHE_ZAMZAV, dcsp.getZasso().getEvolutionFF().getPtEvolutionFF()); + if (dcsp.getLoiZavZam() != null && dcsp.getLoiZavZam().getEvolutionFF() != null + && dcsp.getLoiZavZam().getEvolutionFF().getPtEvolutionFF() != null) { + writeListeEvolutionFF(CrueIODico.BRANCHE_ZAMZAV, dcsp.getLoiZavZam().getEvolutionFF().getPtEvolutionFF()); } @@ -1206,9 +1220,9 @@ // --denoye--// // ex: Z/Q(o) Z1 Q1 Z2 Q2… pour Denoye - if (dcsp.getRegimeDenoye() != null && dcsp.getRegimeDenoye().getEvolutionFF() != null - && dcsp.getRegimeDenoye().getEvolutionFF().getPtEvolutionFF() != null) { - writeListeEvolutionFF(CrueIODico.BRANCHE_ZQ, dcsp.getRegimeDenoye().getEvolutionFF().getPtEvolutionFF()); + if (dcsp.getLoiQZam() != null && dcsp.getLoiQZam().getEvolutionFF() != null + && dcsp.getLoiQZam().getEvolutionFF().getPtEvolutionFF() != null) { + writeListeEvolutionFF(CrueIODico.BRANCHE_ZQ, dcsp.getLoiQZam().getEvolutionFF().getPtEvolutionFF()); } // -- on ecrit les profils de reference et on ecrit pas les distance et autres infos, si on en a --// 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-06-28 22:19:41 UTC (rev 4892) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2009-06-30 22:01:53 UTC (rev 4893) @@ -29,6 +29,7 @@ import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.metier.helper.LoiFactory; import org.fudaa.dodico.crue.metier.helper.LoiHelper; +import org.fudaa.dodico.crue.validation.CruePrefix; import org.fudaa.dodico.fortran.FortranReader; import org.joda.time.Duration; import org.joda.time.LocalDateTime; @@ -719,7 +720,7 @@ // calcPerm.setListeDonCLimMBrancheOrifice(new ArrayList<DonCLimMBrancheOrifice>()); // calcPerm.setListeDonCLimMBrancheSaintVenant(new ArrayList<DonCLimMBrancheSaintVenant>()); - calcPerm.setNom("CP" + (nbEtatPermanent + 1)); + calcPerm.setNom(CruePrefix.P_CALCUL + (nbEtatPermanent + 1)); calcPerm.setDescription("Calcul permanent " + (nbEtatPermanent + 1)); // final List<EMH> listeRefs = new ArrayList<EMH>(); // calcPerm.setListeRefs(listeRefs); @@ -956,7 +957,7 @@ // Un seul calcul transitoire possible en version crue 9 final CalcTrans calcTrans = new CalcTrans(); - calcTrans.setNom("CT1"); + calcTrans.setNom(CruePrefix.P_CALCUL + "Trans1"); calcTrans.setDescription("Calcul transitoire 1"); dclm.addCalcTrans(calcTrans); @@ -1291,15 +1292,15 @@ brancheSV.setCalculParent(calcTrans); brancheSV.setEmh(emh); - final String nomLoi = "HydrogrammeRuis" + nomEmh; + final String nomLoi = CruePrefix.getNom(EnumTypeLoi.LoiTQruis, nomEmh); final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois()); if (loi == null) { LoiDF loiDF = new LoiDF(); - LoiFactory.alimenteDebutLoiDF(loiDF, nomLoi, "Date", "Qruis"); + LoiFactory.alimenteDebutLoiDF(loiDF, nomLoi, EnumTypeLoi.LoiTQruis); loiDF.setEvolutionFF(evolutionFF); emh.addInfosEMH(brancheSV); - brancheSV.setHydrogrammeQruis(loiDF); + brancheSV.setLoiTQruis(loiDF); brancheSV.setEmh(emh); // Ajout de la loi dans DLHY @@ -1353,15 +1354,15 @@ if (nncTrans instanceof CalcTransNoeudNiveauContinuQapp) { - nomLoi = "Hydrogramme" + nomEmh; + nomLoi = CruePrefix.getNom(EnumTypeLoi.LoiTQapp, nomEmh); final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois()); if (loi == null) { LoiDF loiDF = new LoiDF(); - LoiFactory.alimenteDebutLoiDF(loiDF, nomLoi, "Date", "Qapp"); + LoiFactory.alimenteDebutLoiDF(loiDF, nomLoi, EnumTypeLoi.LoiTQapp); loiDF.setEvolutionFF(evolutionFF); final CalcTransNoeudNiveauContinuQapp nncHydro = (CalcTransNoeudNiveauContinuQapp) nncTrans; - nncHydro.setHydrogrammeQapp(loiDF); + nncHydro.setLoiTQapp(loiDF); // Ajout de la loi dans DLHY dlhy.addLois(loiDF); @@ -1369,15 +1370,15 @@ } else if (nncTrans instanceof CalcTransNoeudNiveauContinuLimnigramme) { - nomLoi = "Limnigramme" + nomEmh; + nomLoi = CruePrefix.getNom(EnumTypeLoi.LoiTZ, nomEmh); final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois()); if (loi == null) { LoiDF loiDF = new LoiDF(); - LoiFactory.alimenteDebutLoiDF(loiDF, nomLoi, "Date", "Z"); + LoiFactory.alimenteDebutLoiDF(loiDF, nomLoi, EnumTypeLoi.LoiTZ); loiDF.setEvolutionFF(evolutionFF); final CalcTransNoeudNiveauContinuLimnigramme nncLimni = (CalcTransNoeudNiveauContinuLimnigramme) nncTrans; - nncLimni.setLimnigramme(loiDF); + nncLimni.setLoiTZ(loiDF); // Ajout de la loi dans DLHY dlhy.addLois(loiDF); @@ -1385,14 +1386,14 @@ } else if (nncTrans instanceof CalcTransNoeudNiveauContinuTarage) { - nomLoi = "Tarrage" + nomEmh; + ... [truncated message content] |
From: <de...@us...> - 2009-07-01 22:37:05
|
Revision: 4898 http://fudaa.svn.sourceforge.net/fudaa/?rev=4898&view=rev Author: deniger Date: 2009-07-01 22:35:48 +0000 (Wed, 01 Jul 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTG.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Reader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHSousModele.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumMethodeInterpolation.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java trunk/soft/fudaa-crue/dodico/src/main/resources/logback-test.xml trunk/soft/fudaa-crue/dodico/src/main/resources/logback.xml trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/validation/validation.txt trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-opti-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/Messages.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueActionChargerScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/resources/default.ores.xml trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/ihmMessages.properties Removed Paths: ------------- trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/messages.properties Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -416,6 +416,8 @@ * @param _analyze l'analyse a ajouter a celle-ci */ public void merge(final CtuluAnalyze _analyze) { + setDesc(_analyze.getDesc()); + setResource(_analyze.getResource()); logs.addAll(_analyze.logs); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -14,6 +14,7 @@ import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.common.CrueIOResu; +import org.fudaa.dodico.crue.io.common.Messages; import org.fudaa.dodico.crue.io.dao.CrueHelper; import org.fudaa.dodico.crue.io.neuf.AbstractCrue9Reader; import org.fudaa.dodico.crue.io.neuf.AbstractCrue9Writer; @@ -81,7 +82,9 @@ // return null; // } public CrueIOResu<CrueData> read(final String pathToResource, final CtuluAnalyze analyzer, final CrueData dataLinked) { - return read(getClass().getResource(pathToResource), analyzer, dataLinked); + CrueIOResu<CrueData> read = read(getClass().getResource(pathToResource), analyzer, dataLinked); + analyzer.setDesc(Messages.getString("read.file", pathToResource)); + return read; } public CrueIOResu<CrueData> read(final URL url, final CtuluAnalyze analyzer, final CrueData dataLinked) { @@ -91,6 +94,7 @@ final CtuluIOOperationSynthese read = crue9reader.read(); final CrueIOResu<CrueData> source = (CrueIOResu<CrueData>) read.getSource(); analyzer.merge(read.getAnalyze()); + analyzer.setDesc(Messages.getString("read.file", url.toString())); return source; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/Messages.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -6,6 +6,8 @@ import java.util.ResourceBundle; +import org.fudaa.dodico.crue.common.CrueMessageHelper; + /** * @author deniger */ @@ -14,4 +16,12 @@ private Messages() {} + public static String getString(String s) { + return RESOURCE_BUNDLE.getString(s); + } + + public static String getString(String s, Object... args) { + return CrueMessageHelper.getS(RESOURCE_BUNDLE, s, args); + } + } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTG.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTG.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTG.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -58,10 +58,11 @@ res.DonPrtGeoBranches = new ArrayList<CrueDaoStructureDPTG.BrancheSaintVenant>(); res.DonPrtGeoSections = new ArrayList<CrueDaoStructureDPTG.SectionIdem>(); - if (metier.getAllEMH() == null || metier.getAllEMH().size() == 0) { + List<EMH> allEMH = metier.getAllEMH(); + if (CollectionUtils.isEmpty(allEMH)) { analyser.addInfo("io.dptg.vide.error"); } else { - for (final EMH emh : metier.getAllEMH()) { + for (final EMH emh : allEMH) { if (emh.getDPTG() != null) { final List<DonPrtGeo> donnees = emh.getDPTG(); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDPTI.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -123,7 +123,7 @@ } else { for (final CatEMHSection section : data) { final List<DonPrtCIni> listeCond = section.getDPTI(); - if (listeCond != null && listeCond.size() != 0) { + if (CollectionUtils.isNotEmpty(listeCond)) { for (final DonPrtCIni conditionInit : listeCond) { if (conditionInit != null && (conditionInit instanceof DonPrtCIniSection)) { @@ -145,9 +145,10 @@ } } - } else { - analyser.addInfo("io.dpti.ecriture.section.error", section.getNom()); } + // else { + // analyser.addInfo("io.dpti.ecriture.section.error", section.getNom()); + // } } } return listePersistante; Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTI.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -11,6 +11,7 @@ import org.fudaa.dodico.crue.metier.emh.OrdPrtCIniModeleBase; import org.fudaa.dodico.crue.metier.emh.ValParam; import org.fudaa.dodico.crue.metier.emh.ValParamDouble; +import org.fudaa.dodico.crue.validation.CruePrefix; /** * Creation des objets methodes interpolations @@ -36,7 +37,7 @@ final EnumMethodeInterpolation type = interpol.getType(); metier.setMethodeInterpol(type); if (EnumMethodeInterpolation.SAINT_VENANT.equals(type)) { - metier.addValParam(new ValParamDouble("SeuilDetect", interpol.getSeuilDetect())); + metier.addValParam(new ValParamDouble(CruePrefix.PM_TOL_ND_Z, interpol.getSeuilDetect())); } break; } @@ -56,8 +57,13 @@ MethodesInterpolations methode = null; - if (EnumMethodeInterpolation.LINEAIRE.equals(metier.getMethodeInterpol())) {// NOPMD + EnumMethodeInterpolation interpol = metier.getMethodeInterpol(); + if (EnumMethodeInterpolation.LINEAIRE.equals(interpol)) {// NOPMD methode = new InterpolLineaire(); + } else if (EnumMethodeInterpolation.BAIGNOIRE.equals(interpol)) { + methode = new CrueDaoStructureOPTI.InterpolBaignoire(); + } else if (EnumMethodeInterpolation.INTERPOL_ZIMP_AUX_SECTIONS.equals(interpol)) { + methode = new CrueDaoStructureOPTI.InterpolZimpAuxSections(); } else { methode = new InterpolSaintVenant(0); // -- on recupere le double --// Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTI.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -18,6 +18,7 @@ xstream.alias(CrueFileType.OPTI.toString(), CrueDaoOPTI.class); // xstream.addImplicitCollection(CrueDaoOPTI.class, "listeInterpol"); xstream.alias("InterpolLineaire", InterpolLineaire.class); + xstream.alias("InterpolZimpAuxSections", InterpolZimpAuxSections.class); xstream.alias("InterpolBaignoire", InterpolBaignoire.class); xstream.alias("InterpolSaintVenant", InterpolSaintVenant.class); } @@ -59,6 +60,21 @@ } /** + * @author deniger + */ + public static class InterpolZimpAuxSections implements MethodesInterpolations { + public EnumMethodeInterpolation getType() { + return EnumMethodeInterpolation.INTERPOL_ZIMP_AUX_SECTIONS; + } + + public double getSeuilDetect() { + return 0; + } + + public void setSeuilDetect(double s) {} + } + + /** * methode InterpolLineaire * * @author Adrien Hadoux Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -136,9 +136,11 @@ } public boolean isValide(final File xml, final CtuluAnalyze res) { - res.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); try { - return isValide(xml.toURI().toURL(), res); + boolean valide = isValide(xml.toURI().toURL(), res); + res.setDesc(Messages.getString("valid.xml", xml.getName())); + return valide; + } catch (final MalformedURLException e) { res.manageException(e); LOGGER.error("isValide", e); @@ -147,12 +149,13 @@ } public boolean isValide(final String xml, final CtuluAnalyze res) { - res.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); + return isValide(getClass().getResource(xml), res); } public boolean isValide(final URL xml, final CtuluAnalyze res) { res.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); + res.setDesc(Messages.getString("valid.xml", xml)); final ErrorHandlerDefault handler = new ErrorHandlerDefault(res); try { final URL xsdURL = getClass().getResource(xsdPath); @@ -165,7 +168,7 @@ } catch (final Exception e) { // res.manageException(e); - FuLogCrue.error(e); + LOGGER.error("isValide", e); return false; } return !handler.isHasError(); @@ -178,6 +181,8 @@ * @return */ public final M read(final URL f, final CtuluAnalyze analyzer, final CrueData dataLinked) { + analyzer.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); + analyzer.setDesc(Messages.getString("read.file", f)); final D d = readDao(f, analyzer, dataLinked); if (d != null) { return converter.convertDaoToMetier(d, dataLinked, analyzer); } return null; @@ -249,13 +254,14 @@ return null; } // if (!isValide(url, analyser)) { return null; } + InputStream in = null; D newData = null; try { in = url.openStream(); newData = readDao(in, analyser, dataLinked); } catch (final IOException e) { - FuLogCrue.debug(e.getMessage(), e); + LOGGER.debug(e.getMessage(), e); analyser.addError("io.xml.error", e.getMessage()); } finally { CtuluLibFile.close(in); @@ -272,6 +278,7 @@ */ public final M readXML(final File f, final CtuluAnalyze analyzer, final CrueData dataLinked) { analyzer.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); + analyzer.setDesc(Messages.getString("read.file", f.getName())); final D d = readDao(f, analyzer, dataLinked); if (d != null) { return converter.convertDaoToMetier(d, dataLinked, analyzer); } return null; @@ -286,6 +293,7 @@ */ public final M readXML(final String pathToResource, final CtuluAnalyze analyzer, final CrueData dataLinked) { analyzer.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); + analyzer.setDesc(Messages.getString("read.file", pathToResource)); final D d = readDao(pathToResource, analyzer, dataLinked); if (d != null) { return converter.convertDaoToMetier(d, dataLinked, analyzer); } return null; @@ -345,8 +353,8 @@ * @return */ public final boolean writeXML(final CrueData metier, final File f, final CtuluAnalyze analyzer) { - analyzer.setDesc(f.getName()); analyzer.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); + analyzer.setDesc(Messages.getString("write.file", f.getName())); final D d = converter.convertMetierToDao(converter.getConverterData(metier), analyzer); if (d != null) { d.setXsdName(xsdFile); @@ -363,6 +371,7 @@ */ public boolean writeXML(final CrueData metier, final OutputStream out, final CtuluAnalyze analyser) { analyser.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); + analyser.setDesc(Messages.getString("write.file", getFileType().toString())); final D d = converter.convertMetierToDao(converter.getConverterData(metier), analyser); if (d != null) { return writeDAO(out, d, analyser); } return false; @@ -376,7 +385,7 @@ * @return */ public final boolean writeXMLMetier(final M metier, final File f, final CtuluAnalyze analyzer) { - analyzer.setDesc(f.getName()); + analyzer.setDesc(Messages.getString("write.file", f.getName())); analyzer.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); final D d = converter.convertMetierToDao(metier, analyzer); if (d != null) { @@ -393,10 +402,10 @@ * @return true si reussite */ public boolean writeXMLMetier(final M metier, final OutputStream out, final CtuluAnalyze analyser) { + analyser.setDesc(Messages.getString("write.file", getFileType().toString())); analyser.setDefaultResourceBundle(Messages.RESOURCE_BUNDLE); final D d = converter.convertMetierToDao(metier, analyser); if (d != null) { return writeDAO(out, d, analyser); } return false; } - } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Reader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Reader.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Reader.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -156,6 +156,7 @@ FuLogCrue.error(e); } setResourceBundle(Messages.RESOURCE_BUNDLE); + analyze_.setDesc(Messages.getString("read.file", _f.getAbsolutePath())); super.setFile(_f); } @@ -165,6 +166,7 @@ @Deprecated @Override public void setFile(final Reader _r) { + analyze_.setDesc(Messages.getString("read.file", "Crue 9")); super.setFile(_r); setResourceBundle(Messages.RESOURCE_BUNDLE); } @@ -189,6 +191,7 @@ folder = urlAll.substring(0, urlAll.lastIndexOf('/') + 1); setResourceBundle(Messages.RESOURCE_BUNDLE); analyze_.setResource(_r.toString()); + analyze_.setDesc(Messages.getString("read.file", _r.toString())); super.setFile(new InputStreamReader(_r.openStream())); } catch (final IOException e) { FuLogCrue.error(e); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -1941,15 +1941,16 @@ // -- recuperation de l'element lu en 1ere position --// final String element = in_.stringField(0); final String nomProfil = in_.stringField(1); - if (element.toUpperCase().equals(CrueIODico.PROFIL)) { + final String upperCase = element.toUpperCase(); + if (upperCase.equals(CrueIODico.PROFIL)) { sectionCree = createSectionProfilClassique(metier, nomProfil); - } else if (element.toUpperCase().equals(CrueIODico.PROFREF)) { + } else if (upperCase.equals(CrueIODico.PROFREF)) { // ex: PROFREF(o) "nom_prof_ref" sectionCree = createSectionProfilReference(metier, nomProfil); - } else if (element.toUpperCase().equals(CrueIODico.PROFIDEM)) { + } else if (upperCase.equals(CrueIODico.PROFIDEM)) { // -- section avec reference vers une autre section et une donnee DPTG avec un deltaZ changeant --// // ex PROFIDEM(o) "nom_profil" "nom_prof_appelé" [deltaz] final String nomReference = in_.stringField(2); @@ -1971,33 +1972,39 @@ sectionCree = newSection; lireSuite(); - } else if (element.toUpperCase().equals(CrueIODico.PROFINT)) { + } else if (upperCase.equals(CrueIODico.PROFINT)) { - sectionCree = createSectionProfilClassique(metier, nomProfil); + final CatEMHSection sectionToreplace = metier.findSectionByReference(nomProfil); + // sectionCree = createSectionProfilClassique(metier, nomProfil); + // -- il faut transformer cette section en interpole: on le fait maintenant car dans la methode cela ne change // rien // car c'est au niveau de la branche que l'on cree les sections. - final EMHSectionInterpolee newSection = new EMHSectionInterpolee(sectionCree.getNom()); - replaceSection(metier, sectionCree, newSection); - - // -- on remplace les relations et les infos emh --// - if (sectionCree.getInfosEMH() != null) { - newSection.setInfosEMH(sectionCree.getInfosEMH()); + sectionCree = new EMHSectionInterpolee(nomProfil); + if (sectionToreplace == null) { + metier.add(sectionCree); + } else { + replaceSection(metier, sectionCree, sectionCree); } - if (sectionCree.getRelationEMH() != null) { - newSection.setRelationEMH(sectionCree.getRelationEMH()); - } - metier.add(newSection); + // // -- on remplace les relations et les infos emh --// + // if (sectionCree.getInfosEMH() != null) { + // newSection.setInfosEMH(sectionCree.getInfosEMH()); + // } + // if (sectionCree.getRelationEMH() != null) { + // newSection.setRelationEMH(sectionCree.getRelationEMH()); + // } - } else if (element.toUpperCase().equals(CrueIODico.PROFRECT)) { + // metier.add(newSection); + + } else if (upperCase.equals(CrueIODico.PROFRECT)) { // TODO pour FICHIER DEXP non présent dans V0 // final String nomProfil = in_.stringField(1); // sectionCree = createSectionProfilClassique(metier, nomProfil); throw new CrueNotSupportedException(element, in_.getLineNumber()); - } else if (element.toUpperCase().equals(CrueIODico.PROFTRAP)) { + } else if (upperCase.equals(CrueIODico.PROFTRAP)) { // TODO pour FICHIER DEXP non présent dans V0 // final String nomProfil = in_.stringField(1); // sectionCree = createSectionProfilClassique(metier, nomProfil); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -398,10 +398,6 @@ if (sectionEMH instanceof EMHSectionProfil) { final DonPrtCIniSection sectionDPTI = new DonPrtCIniSection(); sectionDPTI.setZini(calculeNiveauEauSection((EMHSectionProfil) sectionEMH, coefRempliPourBrancheI)); - // Ajout du DPTI au CatEMHSection - // if (emh.getInfosEMH() == null) { - // emh.setListeInfosEMH(new ArrayList<InfosEMH>()); - // } sectionEMH.addInfosEMH(sectionDPTI); } } @@ -698,6 +694,7 @@ } final List<CalcPseudoPerm> calculsPermanents = new ArrayList<CalcPseudoPerm>(); + OrdCalcScenario ocal = res.getOrdCalc(); while (!FIN.equals(reader.stringField(0))) { // CONLIM (IM) : valeur de la IMème condition à la limite @@ -722,6 +719,15 @@ calcPerm.setNom(CruePrefix.P_CALCUL + (nbEtatPermanent + 1)); calcPerm.setDescription("Calcul permanent " + (nbEtatPermanent + 1)); + // pour le premier on prend en compte la reprise éventuelle + if (reprise != null && ocal.getOrdCalc().isEmpty()) { + reprise.setCalcPseudoPerm(calcPerm); + ocal.addOrdCalc(reprise); + } else { + OrdCalcPseudoPermIniCalcPrecedent iniPrec = new OrdCalcPseudoPermIniCalcPrecedent(); + iniPrec.setCalcPseudoPerm(calcPerm); + ocal.addOrdCalc(reprise); + } // final List<EMH> listeRefs = new ArrayList<EMH>(); // calcPerm.setListeRefs(listeRefs); @@ -839,7 +845,7 @@ final StringBuilder build = new StringBuilder(); for (int i = 0; i < nbConlim; i++) { // la valeur des conditions aux limites d'un état permanent. - build.append(reader.doubleField(i) + " ; "); + build.append(reader.doubleField(i)).append(" ; "); } LOGGER.fine(reader.getCurrent().getLineNumber() + " conlims=" + build); } @@ -960,6 +966,9 @@ calcTrans.setNom(CruePrefix.P_CALCUL + "Trans1"); calcTrans.setDescription("Calcul transitoire 1"); dclm.addCalcTrans(calcTrans); + OrdCalcTransIniCalcPrecedent prec = new OrdCalcTransIniCalcPrecedent(); + prec.setCalcTrans(calcTrans); + res.getOrdCalc().addOrdCalc(prec); // calcTrans.setListeDonCLimMNoeudNiveauContinu(new ArrayList<DonCLimMNoeudNiveauContinu>()); // calcTrans.setListeDonCLimMBrancheOrifice(new ArrayList<DonCLimMBrancheOrifice>()); @@ -1444,6 +1453,11 @@ } /** + * non null si reprise: ical=0 + */ + OrdCalcPseudoPermIniCalcReprise reprise; + + /** * Methode principale qui fait le tout. * * @param res @@ -1501,24 +1515,23 @@ // Enregistrement de "ical" et de "trepr" dans OCAL (seulement s'il vaut 0 ; aucun enregistrement metier pour une // valeur différente) final CrueData crueData = res.getMetier(); + // Création de IniCalcReprise avec une date de reprise + OrdCalcScenario ocal = crueData.getOrdCalc(); + if (ocal == null) { + ocal = new OrdCalcScenario(); + crueData.setOrdCalc(ocal); + } if (ical == 0) { - // Création de IniCalcReprise avec une date de reprise - OrdCalcScenario ocal = crueData.getOrdCalc(); - if (ocal == null) { - ocal = new OrdCalcScenario(); - crueData.setOrdCalc(ocal); - } - // final List<OrdCalcPerm> calculsPerms = new ArrayList<OrdCalcPerm>(); // final OrdCalcPseudoPerm pseudoPerm = new OrdCalcPseudoPerm(); - final OrdCalcPseudoPermIniCalcReprise reprise = new OrdCalcPseudoPermIniCalcReprise(); + reprise = new OrdCalcPseudoPermIniCalcReprise(); reprise.setDateReprise(DateDurationConverter.getDateFromZeroDate(tempReprise)); // pseudoPerm.setIniReprise(reprise); // calculsPerms.add(pseudoPerm); - ocal.addOrdCalc(reprise); + // ocal.addOrdCalc(reprise); } // Enregistrement de "cru" et "cofqr" dans les propriétés CoefRuisQdm et CoefRuis respectivement de toutes les @@ -1559,6 +1572,8 @@ crueData.setParamCalc(pcal); } pcal.setVerbosite(isorti == 0 ? EnumVerbosite.ZERO : EnumVerbosite.UN); + OrdPrtCIniModeleBase methodesInterpolation = createOpti(ile); + crueData.setMethodesInterpolation(methodesInterpolation); // Pas d'enregistrement de "ile" qui sert pour l'algo uniquement @@ -1581,4 +1596,35 @@ } } + private OrdPrtCIniModeleBase createOpti(int ile) { + OrdPrtCIniModeleBase res = EMHFactory.createOPTI(); + // <!-- cas DH.iLE=1 --> + // <InterpolLineaire /> + // <!-- + // XOR, si DH.iLE=0, une interpolation par cotes imposées aux sections + // <InterpolZimpAuxSections/> + // --> + // <!-- + // XOR, si DH.iLE=2, une interpolation des cotes par calcul de la courbe + // de remous en permanent <InterpolSaintVenant> + // <Pm_TolNdZ>0.01</Pm_TolNdZ> </InterpolSaintVenant> + // --> + // <!-- + // XOR, si DH.iLE=3, une interpolation à cotes constantes type baignoire + // <InterpolBaignoire/> + // --> + EnumMethodeInterpolation enumInterpol = EnumMethodeInterpolation.INTERPOL_ZIMP_AUX_SECTIONS; + if (ile == 1) { + enumInterpol = EnumMethodeInterpolation.LINEAIRE; + } else if (ile == 2) { + enumInterpol = EnumMethodeInterpolation.SAINT_VENANT; + + res.addValParam(new ValParamDouble(CruePrefix.PM_TOL_ND_Z, 0.01)); + } else if (ile == 3) { + enumInterpol = EnumMethodeInterpolation.BAIGNOIRE; + } + res.setMethodeInterpol(enumInterpol); + + return res; + } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHFactory.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHFactory.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHFactory.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -67,4 +67,8 @@ dataDCSP.setLoiQPdc(newLoi); return dataDCSP; } + + public static OrdPrtCIniModeleBase createOPTI() { + return new OrdPrtCIniModeleBase(); + } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -85,6 +85,12 @@ return null; } + public File getDirForRunCourantOf(String scenarioNom) { + final ManagerEMHScenario sc = getScenario(scenarioNom); + if (sc != null && sc.getRunCourant() != null) { return getDirForRun(sc, sc.getRunCourant()); } + return null; + } + private Map<String, URL> getEtudeFiles(final Map<String, FichierCrueParModele> allFileUsed) { final Map<String, URL> res = new HashMap<String, URL>(); try { @@ -108,60 +114,49 @@ /** * @return l'association idFichier->File pour les fichier d'etude */ - public Map<String, URL> getFileEtudeScenario(final String id) { - final ManagerEMHScenario sc = getScenario(id); + public Map<String, URL> getFileUrlEtudeScenario(final String nomScenario) { + final ManagerEMHScenario sc = getScenario(nomScenario); if (sc == null) { return Collections.emptyMap(); } return getEtudeFiles(sc.getAllFileUsed()); } - public Map<String, File> getFileFileEtudeScenario(final String id) { - final ManagerEMHScenario sc = getScenario(id); + /** + * @return l'association idFichier->File pour les fichier d'etude + */ + public Map<String, File> getFileFileEtudeScenario(final String nomScenario) { + final ManagerEMHScenario sc = getScenario(nomScenario); if (sc == null) { return Collections.emptyMap(); } return getFileEtudeFiles(sc.getAllFileUsed()); } /** - * @param nom le nom du scenario - * @return l'association idFichier->File pour les fichier d'etude + * @param nomScenario le nom du scenario + * @return l'association idFichier->File pour les fichier d'etude du run courant */ - public Map<String, URL> getURLRunScenario(final String nom) { - final ManagerEMHScenario sc = getScenario(nom); + public Map<String, URL> getFileUrlRunScenario(final String nomScenario) { + final ManagerEMHScenario sc = getScenario(nomScenario); if (sc == null || sc.getRunCourant() == null) { return Collections.emptyMap(); } return getRunFiles(sc.getAllFileUsed(), sc.getRunCourant()); } /** - * @param nom le nom du scenario + * @param nomScenario le nom du scenario * @return l'association idFichier->File pour les fichier d'etude */ - public Map<String, File> getFileRunScenario(final String nom) { - final ManagerEMHScenario sc = getScenario(nom); + public Map<String, File> getFileFileRunScenario(final String nomScenario) { + final ManagerEMHScenario sc = getScenario(nomScenario); if (sc == null || sc.getRunCourant() == null) { return Collections.emptyMap(); } return getRunFileFiles(sc.getAllFileUsed(), sc.getRunCourant()); } /** - * @return l'association idFichier->File pour les fichier d'etude - */ - public Map<String, URL> getURLScenarioCourant() { - if (scenarioCourant == null || scenarioCourant.getRunCourant() == null) { return Collections.emptyMap(); } - return getRunFiles(scenarioCourant.getAllFileUsed(), scenarioCourant.getRunCourant()); - } - - /** - * @return l'association idFichier->File pour les fichier du run courant - */ - public Map<String, URL> getFilesEtudeScenarioCourant() { - if (scenarioCourant == null) { return Collections.emptyMap(); } - return getEtudeFiles(scenarioCourant.getAllFileUsed()); - } - - /** + * @param nomScenario le nom du scenario * @return l'association pour les fichiers resultats du run courant */ - public Map<String, URL> getFilesResultatForCurrentRun() { - final File dir = getDirForRunCourant(); - if (dir != null) { return scenarioCourant.getFilesResultatIn(dir); } + public Map<String, URL> getFileUrlResultatForCurrentRun(String nomScenario) { + final File dir = getDirForRunCourantOf(nomScenario); + final ManagerEMHScenario sc = getScenario(nomScenario); + if (dir != null) { return sc.getFilesResultatIn(dir); } return null; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHSousModele.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHSousModele.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHSousModele.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -22,9 +22,11 @@ protected static void addAllFile(ManagerEMHContainerBase from, final Map<String, FichierCrueParModele> dest, final ManagerEMHModeleBase parent) { - final List<FichierCrue> fics = from.getListeFichiers().getFichiers(); - for (final FichierCrue fichierCrue : fics) { - dest.put(fichierCrue.getId(), new FichierCrueParModele(fichierCrue, parent)); + if (from.getListeFichiers() != null) { + final List<FichierCrue> fics = from.getListeFichiers().getFichiers(); + for (final FichierCrue fichierCrue : fics) { + dest.put(fichierCrue.getId(), new FichierCrueParModele(fichierCrue, parent)); + } } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumMethodeInterpolation.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumMethodeInterpolation.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EnumMethodeInterpolation.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -8,6 +8,6 @@ /** @pdOid 6757dbc8-39aa-448a-a3e4-01e504092430 */ public enum EnumMethodeInterpolation { - LINEAIRE, SAINT_VENANT, BAIGNOIRE; + LINEAIRE, SAINT_VENANT, BAIGNOIRE, INTERPOL_ZIMP_AUX_SECTIONS; } \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -53,9 +53,9 @@ analyzer.addFatalError("not.scenario.error", scenario.getNom()); } if (runCourant == null) { - files = projet.getFileEtudeScenario(scenario.getNom()); + files = projet.getFileUrlEtudeScenario(scenario.getNom()); } else { - files = projet.getURLRunScenario(scenario.getNom()); + files = projet.getFileUrlRunScenario(scenario.getNom()); } EMHScenario emhScenario = null; if (scenario.getInfosVersions() != null && scenario.getInfosVersions().getType() != null) { @@ -81,15 +81,15 @@ private boolean validFiles(final CrueErrorManager errorMng) { // on teste la presence de fichiers - Map<String, URL> fileToLoad = projet.getFilesEtudeScenarioCourant(); + Map<String, URL> fileToLoad = projet.getFileUrlEtudeScenario(scenario.getNom()); boolean ok = validFileExists(errorMng, fileToLoad, "loader.fichier.etude.exist"); if (scenario.getRunCourant() != null) { - final Map<String, URL> runFiles = projet.getURLScenarioCourant(); + final Map<String, URL> runFiles = projet.getFileUrlRunScenario(scenario.getNom()); ok = ok && validFileExists(errorMng, runFiles, "loader.fichier.run.exist"); if (ok) { fileToLoad = runFiles; } - warnResFileExists(projet.getFilesResultatForCurrentRun()); + warnResFileExists(projet.getFileUrlResultatForCurrentRun(scenario.getNom())); } return ok; Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -10,6 +10,7 @@ import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.dodico.crue.common.CrueErrorManager; +import org.fudaa.dodico.crue.io.Crue10FileFormatFactory; import org.fudaa.dodico.crue.io.Crue9FileFormatFactory; import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.io.common.CrueFileType; @@ -54,8 +55,8 @@ } final ManagerEMHModeleBase modele = fils.get(0); - final URL fichierDC = files.get(modele.getListeFichiers().getFile(CrueFileType.DC)); - final URL fichierDH = files.get(modele.getListeFichiers().getFile(CrueFileType.DH)); + final URL fichierDC = files.get(modele.getListeFichiers().getFile(CrueFileType.DC).getId()); + final URL fichierDH = files.get(modele.getListeFichiers().getFile(CrueFileType.DH).getId()); if (fichierDC == null) { analyzer.addFatalError("loader.crue9.noDefined", "DC", modele.getNom()); @@ -76,6 +77,12 @@ ioResuDC.getMetier()); if (ana.containsFatalError()) { return null; } final CrueData res = ioResuDH.getMetier(); + // on charge les valeurs par defaut pour ores. + CtuluAnalyze ores = new CtuluAnalyze(); + Crue10FileFormatFactory.getInstance().getORES().read("/default.ores.xml", ores, res); + if (ores.containsErrors()) { + errorMng.getAnalyser().add(ores); + } // on verifie que l'on peut renommer les noms correctement. final CtuluAnalyze verifiePrefixeNomDonneesCrue9 = CruePrefix.verifiePrefixeNomDonneesCrue9(res); if (verifiePrefixeNomDonneesCrue9.containsErrors()) { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -54,7 +54,7 @@ final Map<String, File> files = projet.getFileFileEtudeScenario(scenario.getNom()); Map<String, File> runFiles = null; if (runCourant == null) { - runFiles = projet.getFileRunScenario(scenario.getNom()); + runFiles = projet.getFileFileRunScenario(scenario.getNom()); } if (scenario.getInfosVersions() != null && scenario.getInfosVersions().getType() != null) { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -121,10 +121,15 @@ public static String getNomAvecPrefix(final EMH emh) { if (emh == null) { return null; } - final String prefix = ENUM_PREFIX.get(emh.getType()); + final String prefix = getPrefixFor(emh); return getNomAvecPrefixe(prefix, emh.getNom()); } + private static String getPrefixFor(final EMH emh) { + final String prefix = ENUM_PREFIX.get(emh.getType()); + return prefix; + } + public static String getNomAvecPrefix(final Loi loi) { if (loi == null) { return null; } final String prefix = getPrefix(loi.getType()); @@ -133,8 +138,9 @@ private static final int NB_CAR_MAX_CRUE9 = 16; - protected static void computeNom(final ObjetNomme obj, final String newNom, final CtuluAnalyze analyze, + protected static void computeNom(final ObjetNomme obj, final String prefixe, final CtuluAnalyze analyze, final String codeErreur) { + final String newNom = getNomAvecPrefixe(prefixe, obj.getNom()); if (newNom.length() > NB_CAR_MAX_CRUE9) { analyze.addError(codeErreur, obj.getNom(), newNom); } else { @@ -194,7 +200,7 @@ final List<EMH> listeEMHs = crueData.getAllEMH(); final CtuluAnalyze analyze = new CtuluAnalyze(ProjetMessages.RESOURCE_BUNDLE); for (final EMH emh : listeEMHs) { - computeNom(emh, getNomAvecPrefix(emh), analyze, "crue9.cant.rename.emh"); + computeNom(emh, getPrefixFor(emh), analyze, "crue9.cant.rename.emh"); } final DonFrtConteneur frottements = crueData.getFrottements(); if (frottements != null) { @@ -202,7 +208,7 @@ for (final DonFrt donFrt : listFrt) { final LoiFF loi = donFrt.getLoi(); final String pref = (loi.getType().equals(EnumTypeLoi.LoiFK)) ? P_FROTT_STRICKLER : P_FROTT_MANNING; - computeNom(donFrt, getNomAvecPrefixe(pref, donFrt.getNom()), analyze, "crue9.cant.rename.frt"); + computeNom(donFrt, pref, analyze, "crue9.cant.rename.frt"); } } @@ -219,7 +225,10 @@ final List<LitNumerote> litsNumerotes = donneeProfilSection.getLitNumerote(); if (litsNumerotes != null) { for (int i = 0, imax = litsNumerotes.size(); i < imax; i++) { - computeNom(litsNumerotes.get(i).getNomLit(), P_LIT, analyze, "crue9.cant.rename.lit"); + final LitNomme nomLit = litsNumerotes.get(i).getNomLit(); + if (nomLit != null) { + computeNom(nomLit, P_LIT, analyze, "crue9.cant.rename.lit"); + } } } } else if (donnee instanceof DonPrtGeoProfilCasier) { @@ -233,9 +242,11 @@ // Val Param (OPTI) final OrdPrtCIniModeleBase opti = crueData.getMethodesInterpolation(); - for (final Iterator it = opti.getIteratorValParam(); it.hasNext();) { - final ValParam param = (ValParam) it.next(); - CruePrefix.addPrefixIfNeeded(param); + if (opti != null) { + for (final Iterator it = opti.getIteratorValParam(); it.hasNext();) { + final ValParam param = (ValParam) it.next(); + CruePrefix.addPrefixIfNeeded(param); + } } // // Lois de calculs transitoires (DCLM) @@ -284,4 +295,9 @@ return analyze; } + + /** + * + */ + public static final String PM_TOL_ND_Z = "Pm_TolNdZ"; } Added: trunk/soft/fudaa-crue/dodico/src/main/resources/default.ores.xml =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/default.ores.xml (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/default.ores.xml 2009-07-01 22:35:48 UTC (rev 4898) @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ORES xmlns="http://www.fudaa.fr/xsd/crue" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.fudaa.fr/xsd/crue http://www.fudaa.fr/xsd/crue/ores-1.0.0.xsd"> + <!-- + Le fichier ORES rassemble les demandes de résultats supplémentaires. + Son périmètre est le scénario + --> + <!-- + Entrées pour chaque type d'EMH et non pour chaque catégorie d'EMH + --> + <!-- + Par convention, les variables demandées doivent être systématiquement + sorties pour chaque calcul demandé dans le OCAL, càd potentiellement + plusieurs calculs pseudo-permanents et un seul calcul transitoire + --> + <Commentaire>Commentaire sur le scénario</Commentaire> + + <OrdResNoeuds> + <OrdResNoeudNiveauContinu> + <DdeZ>true</DdeZ> + <DdeHmin>false</DdeHmin> + <DdeHmax>false</DdeHmax> + </OrdResNoeudNiveauContinu> + </OrdResNoeuds> + <OrdResCasiers> + <OrdResCasierProfil> + <DdeSplan>false</DdeSplan> + <DdeVol>false</DdeVol> + </OrdResCasierProfil> + <!-- + dans le futur <OrdResCasierMNT> <DdeSplan>false</DdeSplan> + <DdeVol>false</DdeVol> </OrdResCasierMNT> + --> + </OrdResCasiers> + <OrdResSections> + <OrdResSectionProfil> + <DdeQ>true</DdeQ> <!-- obligatoire: ne peut pas être désactivé --> + <DdeZ>true</DdeZ> <!-- obligatoire: ne peut pas être désactivé --> + <DdeH>false</DdeH> + <DdeZf>false</DdeZf> + <DdeZc>false</DdeZc> + <DdeZn>false</DdeZn> + <DdeYc>false</DdeYc> + <DdeYn>false</DdeYn> + <DdeVact>false</DdeVact> + <DdeVtot>false</DdeVtot> + <DdeVc>false</DdeVc> + <DdeF>false</DdeF> + <DdeLact>false</DdeLact> + <DdeLtot>false</DdeLtot> + <DdeSact>false</DdeSact> + <DdeStot>false</DdeStot> + <DdeDact>false</DdeDact> + <DdeDtot>false</DdeDtot> + </OrdResSectionProfil> + <OrdResSectionIdem> + <DdeQ>true</DdeQ> <!-- obligatoire: ne peut pas être désactivé --> + <DdeZ>true</DdeZ> <!-- obligatoire: ne peut pas être désactivé --> + </OrdResSectionIdem> + <OrdResSectionInterpolee> + <DdeQ>true</DdeQ> <!-- obligatoire: ne peut pas être désactivé --> + <DdeZ>true</DdeZ> <!-- obligatoire: ne peut pas être désactivé --> + </OrdResSectionInterpolee> + <OrdResSectionSansGeometrie> + <DdeQ>true</DdeQ> <!-- obligatoire: ne peut pas être désactivé --> + <DdeZ>true</DdeZ> <!-- obligatoire: ne peut pas être désactivé --> + </OrdResSectionSansGeometrie> + </OrdResSections> + <OrdResBranches> + <OrdResBranchePdc> + <DdeDz>false</DdeDz> + </OrdResBranchePdc> + <OrdResBrancheSeuilTransversal> + <DdeRegime>false</DdeRegime> + </OrdResBrancheSeuilTransversal> + <OrdResBrancheSeuilLateral> + <DdeRegime>false</DdeRegime> + </OrdResBrancheSeuilLateral> + <OrdResBrancheOrifice> + <DdeRegime>false</DdeRegime> + <DdeCoefCtr>false</DdeCoefCtr> + <DdeOuv>false</DdeOuv> + </OrdResBrancheOrifice> + <OrdResBrancheStrickler> + <DdeSplan>false</DdeSplan> + <DdeVol>false</DdeVol> + </OrdResBrancheStrickler> + <OrdResBrancheBarrageGenerique> + <DdeRegime>false</DdeRegime> + </OrdResBrancheBarrageGenerique> + <OrdResBrancheBarrageFilEau> + <DdeRegime>false</DdeRegime> + </OrdResBrancheBarrageFilEau> + <OrdResBrancheSaintVenant> + <DdeQlat>true</DdeQlat> <!-- obligatoire: ne peut pas être désactivé --> + <DdeSplan>false</DdeSplan> + <DdeVol>false</DdeVol> + </OrdResBrancheSaintVenant> + <!-- + dans le futur <OrdResBrancheEnchainement></OrdResBrancheEnchainement> + --> + </OrdResBranches> +</ORES> \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/logback-test.xml =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/logback-test.xml 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/logback-test.xml 2009-07-01 22:35:48 UTC (rev 4898) @@ -11,10 +11,10 @@ <logger name="org.apache" level="WARN" /> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> - <File>${user.home}/testFile.log</File> + <File>${user.home}/tsBis.log</File> <Append>true</Append> <layout class="ch.qos.logback.classic.PatternLayout"> - <Pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</Pattern> + <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern> </layout> </appender> Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/logback.xml =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/logback.xml 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/logback.xml 2009-07-01 22:35:48 UTC (rev 4898) @@ -8,10 +8,10 @@ </appender> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> - <File>${user.home}/tsNew.log</File> + <File>${user.home}/tsBis.log</File> <Append>true</Append> <layout class="ch.qos.logback.classic.PatternLayout"> - <Pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</Pattern> + <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern> </layout> </appender> Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties 2009-07-01 22:35:48 UTC (rev 4898) @@ -23,6 +23,7 @@ io.UnknownLine.error = Ligne {0}: La ligne de type {1} n'est pas g\u00E9r\u00E9e io.convert.PtEvolutionFF.error = Impossible de convertir la valeur '{0}' en 2 valeurs x,y io.convert.dptg.profilNotFound.error = Impossible de trouver le profil de nom {0} dans la liste des casier profils et sections profils de DRSO +io.convert.enum.error = Le type {0} ne peut pas \u00EAtre traduit pour le fichier xml io.crue.fcb.profilIndice.error = La partie profile du fichier fcb n'est pas valide. io.crue9.brancheNotSupportedInCrue9.error = la branche n'est pas support\u00E9 au format Crue 9, elle ne sera pas prise en compte. io.crue9.nametoolong.error = Erreur le nom {0} est trop long pour la taille autorisee des lignes de format Crue 9. Le nom a ete concatene. @@ -118,7 +119,6 @@ io.dpti.ecriture.branche.error = Ecriture DPTI : pas de condition initiale pour la branche de reference {0}. io.dpti.ecriture.casier.error = Ecriture DPTI : pas de condition initiale pour le casier de reference {0}. io.dpti.ecriture.noeud.error = Ecriture DPTI : pas de condition initiale pour le noeud de reference {0}. -io.dpti.ecriture.section.error = Ecriture DPTI : pas de condition initiale pour la section de reference {0}. io.dpti.lecture.error = Lecture DPTI : Impossible de r\u00E9cup\u00E9rer les donn\u00E9es r\u00E9saux (DRSO). Les r\u00E9f\u00E9rences du fichier DPTI ne pourront etre utilis\u00E9es. io.dpti.noeud.ref.error = Lecture DPTI : Impossible de trouver le noeud de r\u00E9f\u00E9rence {0}. io.drso.branches.no.noeud.amont.error = Lecture DRSO : Branches: Il n'y a pas de noeud amont pour la branche {0}. @@ -159,5 +159,11 @@ io.xml.error = Une erreur est survenue lors de l'analyse du fichier xml: {0} io.xml.validator.error = Line {0}: le fichier xml n'est pas valide. Message: {1} +read.file = Lecture du fichier {0} + +valid.xml = Validation du fichier {0} + validation.cruedata.vide.error = Impossible d'ajouter les pr\u00E9fixes aux donn\u00E9es Crue car celles-ci sont vides validation.projet.vide.error = Impossible d'ajouter les pr\u00E9fixes au projet Crue car celui-ci est vide + +write.file = Ecriture du fichier {0} Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/validation/validation.txt =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/validation/validation.txt 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/validation/validation.txt 2009-07-01 22:35:48 UTC (rev 4898) @@ -159,4 +159,6 @@ Pm_VarPdxMax;>0.0;;>=1; Pm_PenteMax;>=0.0;;>0.0;<=0.1 Pm_TolNdZ;>0.0;;>=0.001;<=0.10 +N;>=0.0;;>=0.015;<=0.125 + Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-opti-1.0.0.xsd =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-opti-1.0.0.xsd 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-opti-1.0.0.xsd 2009-07-01 22:35:48 UTC (rev 4898) @@ -23,6 +23,7 @@ <xs:complexType name="TypeMethodeInterpol"> <xs:choice> <xs:element name="InterpolLineaire" type="TypeEmpty" minOccurs="0" /> + <xs:element name="InterpolZimpAuxSections" type="TypeEmpty" minOccurs="0" /> <xs:element name="InterpolBaignoire" type="TypeEmpty" minOccurs="0" /> <xs:element name="InterpolSaintVenant" type="TypeInterpolSaintVenant" minOccurs="0" /> </xs:choice> Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -13,6 +13,7 @@ import org.fudaa.dodico.crue.metier.emh.DonFrt; import org.fudaa.dodico.crue.metier.emh.EMHSectionIdem; import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; +import org.fudaa.dodico.crue.validation.CruePrefix; /** * Tests junit pour les fichiers DC IO. fortran, . @@ -57,7 +58,8 @@ * Test de lecture du modele 3 complet. */ public void testLectureModele3() { - testLectureFichierDC(FICHIER_TEST_MODELE3_DC_XML); + CrueData testLectureFichierDC = testLectureFichierDC(FICHIER_TEST_MODELE3_DC_XML); + testAnalyser(CruePrefix.verifiePrefixeNomDonneesCrue9(testLectureFichierDC)); } /** Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -37,23 +37,23 @@ } System.err.println("Dossier de destination= " + destDir.getAbsolutePath()); final ManagerEMHScenario scenarioCourant = projet3.getScenarioCourant(); - final ValidateModeleScenario validator = new ValidateModeleScenario(projet3.getFilesEtudeScenarioCourant(), - scenarioCourant); - CtuluAnalyze writeScenario = validator.writeScenario(); + final ValidateModeleScenario validator = new ValidateModeleScenario(projet3.getFileUrlEtudeScenario(scenarioCourant + .getNom()), scenarioCourant); + final CtuluAnalyze writeScenario = validator.writeScenario(); testAnalyser(writeScenario); try { - String content = CtuluLibFile.litFichierTexte(validator.getScenarioFile()); + final String content = CtuluLibFile.litFichierTexte(validator.getScenarioFile()); System.out.println("le contenu: "); System.out.println(""); System.out.println(content); - } catch (IOException e) { + } catch (final IOException e) { e.printStackTrace(); fail(e.getMessage()); FuLogCrue.error(e); } - CrueErrorManager validate = validator.validate(); + final CrueErrorManager validate = validator.validate(); assertNotNull(validate); - for (CtuluAnalyze an : validate.getAnalyser()) { + for (final CtuluAnalyze an : validate.getAnalyser()) { if (an.containsErrors()) { an.printResume(); } Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/Messages.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/Messages.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/Messages.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -11,7 +11,7 @@ * @author deniger */ public class Messages { - private static final String BUNDLE_NAME = "org.fudaa.fudaa.crue.common.messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.fudaa.fudaa.crue.common.ihmMessages"; //$NON-NLS-1$ /** * La traduction Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueActionChargerScenario.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueActionChargerScenario.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueActionChargerScenario.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -46,8 +46,9 @@ @Override public void actionPerformed(ActionEvent _e) { - if (impl.question(FCrueResource.getS("ihm.chargement"), FCrueResource.getS("ihm.confirm.chargt.scenario", scenario - .getNom()))) { + boolean isAlreadyCurrent = projet.getProject().getScenarioCourant() == scenario; + String msg = isAlreadyCurrent ? "ihm.confirm.rechargt.scenario" : "ihm.confirm.chargt.scenario"; + if (impl.question(FCrueResource.getS("ihm.chargement"), FCrueResource.getS(msg, scenario.getNom()))) { if (scenario != null) { ScenarioLoaderUI algo = new ScenarioLoaderUI(scenario, projet.project); boolean ok = algo.compute(projet.getImpl()); Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -33,43 +33,6 @@ */ public class CrueProjet { - // /** - // * Classe de l'observable Crue. - // * - // * @author Adrien Hadoux - // */ - // private static class CrueObservable extends Observable { - // @Override - // public void notifyObservers() { - // setChanged(); - // super.notifyObservers(); - // } - // - // @Override - // public void notifyObservers(Object param) { - // setChanged(); - // super.notifyObservers(param); - // } - // - // } - - /** - * Controlleur qui enregistre tout ses observeurs pour les notifier le moment requis. - */ - // private static CrueObservable controlleur; - /** - * Implementtation du design pattern observer-observable. L'observable est un singleton, ce qui permet de l'utiliser - * sans pour autant avoir nécessairement une instance de CrueProjet sous la main. - * - * @return - */ - // public static CrueObservable getControlleur() { - // if (controlleur == null) { - // controlleur = new CrueObservable(); - // } - // - // return controlleur; - // } private CrueFilleEMH emhViewFille; final File fichierEtu_; @@ -331,8 +294,8 @@ } public void changeScenarioCourant(ManagerEMHScenario newCourant) { - if (newCourant == project.getScenarioCourant()) { return; } - if (project.getScenarioCourant() != null) { + if (newCourant == null) { return; } + if (newCourant != project.getScenarioCourant() && project.getScenarioCourant() != null) { project.getScenarioCourant().clean(); } close(); Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java 2009-07-01 03:52:04 UTC (rev 4897) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java 2009-07-01 22:35:48 UTC (rev 4898) @@ -110,7 +110,7 @@ if (this.scenario != null) { ... [truncated message content] |
From: <de...@us...> - 2009-07-02 22:18:53
|
Revision: 4899 http://fudaa.svn.sourceforge.net/fudaa/?rev=4899&view=rev Author: deniger Date: 2009-07-02 22:18:51 +0000 (Thu, 02 Jul 2009) Log Message: ----------- Modified Paths: -------------- 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/metier/EMHFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.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/EMHScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue10.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.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/EMHPropertiesValidator.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/NumberPropertyValidator.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/ExampleEMHPropertiesValidator.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CommonMessages.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ProjetMessages.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/projet/projetMessages.properties Copied: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CommonMessages.java (from rev 4891, trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ProjetMessages.java) =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CommonMessages.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CommonMessages.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -0,0 +1,26 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.common; + +import java.util.ResourceBundle; + +/** + * @author deniger + */ +public final class CommonMessages { + public static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle + .getBundle("org.fudaa.dodico.crue.common.commonMessages"); + + private CommonMessages() {} + + public static String getString(String s) { + return RESOURCE_BUNDLE.getString(s); + } + + public static String getString(String s, Object... args) { + return CrueMessageHelper.getS(RESOURCE_BUNDLE, s, args); + } + +} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -312,10 +312,12 @@ // branche --//. for (int k = 0; k < nbProfilsToAdd; k++) { final double xpos = xpos1 + (k + 1) * distmax; - final String nom = CruePrefix.P_PROFIL_SECTION + branche.getNom() + "_" + xpos; - final EMHSectionInterpolee interpol = new EMHSectionInterpolee(nom); - - interpol.setNom(nom); + double doubleForNom = xpos; + if (doubleForNom >= 1) { + doubleForNom = Math.floor(doubleForNom); + } + final EMHSectionInterpolee interpol = EMHFactory.createSectionInterpoleFromDistmax(doubleForNom, branche + .getNom()); final RelationEMH relation = createRelationSectionDansBranche(branche, interpol, xpos, 1, 1, 1); // -- ajout dans metier --// data.add(interpol); @@ -1280,7 +1282,8 @@ // -- on lit la suite --// lireSuite(); - final EMHCasierProfil newCasier = new EMHCasierProfil("C" + idNoeud); + final EMHCasierProfil newCasier = new EMHCasierProfil(CruePrefix.changePrefix(idNoeud, CruePrefix.P_NOEUD, + CruePrefix.P_CASIER)); newCasier.setActive(true); CatEMHNoeud noeudRef = metier.findNoeudByReference(idNoeud); @@ -1305,7 +1308,7 @@ final List<Double> abscissesLimiteX = new ArrayList<Double>(); DonPrtGeoProfilCasier dataDPTG = null; - int cptDPTG = 1; + double oldLong = 0; while (!CrueIODico.isAnewCasierDefinition(in_.getLine()) && CrueIODico.appartientCasiersCarte(in_.getLine())) { // -- recuperation de l'element lu en 1ere position --// final String element = in_.stringField(0); @@ -1354,8 +1357,14 @@ } // ex: PROFCAS 400.0000 final double longueur = in_.doubleField(1); + oldLong += longueur; + if (longueur == 0) { + oldLong++; + } dataDPTG = new DonPrtGeoProfilCasier(); - dataDPTG.setNom(CruePrefix.P_PROFIL_CASIER + newCasier.getNom()); + dataDPTG.setNom(EMHFactory.createNomWithSuff(CruePrefix.changePrefix(newCasier.getNom(), CruePrefix.P_CASIER, + CruePrefix.P_PROFIL_CASIER) + + "#", oldLong)); dataDPTG.setLongueur(longueur); } @@ -1988,7 +1997,7 @@ } else { replaceSection(metier, sectionCree, sectionCree); } - + lireSuite(); // // -- on remplace les relations et les infos emh --// // if (sectionCree.getInfosEMH() != null) { // newSection.setInfosEMH(sectionCree.getInfosEMH()); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHFactory.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHFactory.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHFactory.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -8,6 +8,7 @@ import java.util.List; import org.apache.commons.lang.StringUtils; +import org.fudaa.ctulu.CtuluNumberFormatFixedFigure; import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.validation.CruePrefix; import org.joda.time.Duration; @@ -59,8 +60,7 @@ final List<PtEvolutionFF> listePoints = new ArrayList<PtEvolutionFF>(); listeEvolution.setPtEvolutionFF(listePoints); final LoiFF newLoi = new LoiFF(); - final String brancheNom = idBranche.startsWith(CruePrefix.P_BRANCHE) ? StringUtils.substringAfter(idBranche, - CruePrefix.P_BRANCHE) : idBranche; + final String brancheNom = getBrancheNomWithoutPrefix(idBranche); newLoi.setNom(CruePrefix.addPrefixIfNeeded(EnumTypeLoi.LoiQPdc, brancheNom)); newLoi.setEvolutionFF(listeEvolution); newLoi.setType(EnumTypeLoi.LoiQPdc); @@ -68,7 +68,27 @@ return dataDCSP; } + public static String getBrancheNomWithoutPrefix(final String idBranche) { + return idBranche.startsWith(CruePrefix.P_BRANCHE) ? StringUtils.substringAfter(idBranche, CruePrefix.P_BRANCHE) + : idBranche; + } + public static OrdPrtCIniModeleBase createOPTI() { return new OrdPrtCIniModeleBase(); } + + public static EMHSectionInterpolee createSectionInterpoleFromDistmax(final double xpos, final String brancheNom) { + final String profilSection = CruePrefix.P_PROFIL_SECTION + getBrancheNomWithoutPrefix(brancheNom) + "#"; + final String nom = createNomWithSuff(profilSection, xpos); + final EMHSectionInterpolee interpol = new EMHSectionInterpolee(nom); + interpol.setNom(nom); + return interpol; + } + + public static String createNomWithSuff(final String profilSection, final double suff) { + final int nbToAdd = Math.max(1, CruePrefix.NB_CAR_MAX - profilSection.length()); + final String nom = profilSection + new CtuluNumberFormatFixedFigure(nbToAdd).format(suff); + return nom; + } + } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -20,6 +20,37 @@ */ public class ManagerEMHScenario extends ManagerEMHContainer<ManagerEMHModeleBase> { + private boolean compatibleCrue9 = true; + private boolean compatibleCrue10 = true; + + /** + * @return the compatibleCrue10 + */ + public boolean isCompatibleCrue10() { + return compatibleCrue10; + } + + /** + * @param compatibleCrue10 the compatibleCrue10 to set + */ + public void setCompatibleCrue10(boolean compatibleCrue10) { + this.compatibleCrue10 = compatibleCrue10; + } + + /** + * @return the compatibleCrue9 + */ + public boolean isCompatibleCrue9() { + return compatibleCrue9; + } + + /** + * @param compatibleCrue9 the compatibleCrue9 to set + */ + public void setCompatibleCrue9(boolean compatibleCrue9) { + this.compatibleCrue9 = compatibleCrue9; + } + private EMHScenario emh; /** 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-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHConteneur.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -49,4 +49,11 @@ return EMHHelper.getEMHInRelationEMHContient(getConcatSousModele(), EnumTypeEMH.CASIER); } + /** + * @return tous les emh contenu par ce modele + */ + public List<EMH> getSimpleEMH() { + return EMHHelper.getEMHInRelationEMHContient(getConcatSousModele()); + } + } \ No newline at end of file Modified: 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/EMHScenario.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHScenario.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -38,6 +38,20 @@ return EMHHelper.getEMHInRelationEMHContient(this, EnumTypeEMH.MODELE); } + public List<EMH> getAllEMH() { + final List<EMH> simpleEMH = getSimpleEMH(); + final List<EMH> res = new ArrayList<EMH>(simpleEMH.size() + 20); + res.add(this); + final List<EMHModeleBase> modeles = getModele(); + res.addAll(modeles); + for (final EMHModeleBase modeleBase : modeles) { + res.addAll(modeleBase.getSousModele()); + } + res.addAll(simpleEMH); + return res; + + } + /** * @return le conteneur de loi: toujours non null */ Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ProjetMessages.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ProjetMessages.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ProjetMessages.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -1,28 +0,0 @@ -/** - * Licence GPL - * Copyright Genesis - */ -package org.fudaa.dodico.crue.projet; - -import java.util.ResourceBundle; - -import org.fudaa.dodico.crue.common.CrueMessageHelper; - -/** - * @author deniger - */ -public final class ProjetMessages { - public static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle - .getBundle("org.fudaa.dodico.crue.projet.projetMessages"); - - private ProjetMessages() {} - - public static String getString(String s) { - return RESOURCE_BUNDLE.getString(s); - } - - public static String getString(String s, Object... args) { - return CrueMessageHelper.getS(RESOURCE_BUNDLE, s, args); - } - -} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue10.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue10.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue10.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -5,6 +5,7 @@ import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.dodico.crue.common.CrueErrorManager; +import org.fudaa.dodico.crue.common.CommonMessages; import org.fudaa.dodico.crue.io.Crue10FileFormat; import org.fudaa.dodico.crue.io.Crue10FileFormatFactory; import org.fudaa.dodico.crue.io.common.CrueData; @@ -58,7 +59,7 @@ public CrueErrorManager export() { // on recupere tous les fichiers a écrire final List<CrueFileType> allFiles = fileToExport == null ? ordonnanceur.getAllFileType() : fileToExport; - final CrueErrorManager error = new CrueErrorManager(ProjetMessages.RESOURCE_BUNDLE); + final CrueErrorManager error = new CrueErrorManager(CommonMessages.RESOURCE_BUNDLE); for (final CrueFileType crueFileType : allFiles) { final Crue10FileFormat fileFormat = factory.getFileFormat(crueFileType); final File fileDest = CtuluLibFile.changeExtension(new File(fichierModele), fileFormat.getExtensions()[0]); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -4,6 +4,7 @@ import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.dodico.crue.common.CrueErrorManager; +import org.fudaa.dodico.crue.common.CommonMessages; import org.fudaa.dodico.crue.io.AbstractCrue9FileFormat; import org.fudaa.dodico.crue.io.Crue9FileFormatFactory; import org.fudaa.dodico.crue.io.common.CrueData; @@ -44,7 +45,7 @@ } private CrueErrorManager exportFor(final CrueFileType dc, final CrueErrorManager error) { - final CrueErrorManager res = error == null ? new CrueErrorManager(ProjetMessages.RESOURCE_BUNDLE) : error; + final CrueErrorManager res = error == null ? new CrueErrorManager(CommonMessages.RESOURCE_BUNDLE) : error; final AbstractCrue9FileFormat format = Crue9FileFormatFactory.getFileFormat(dc); format.write(dataToExport, CtuluLibFile.changeExtension(new File(fichierModele), format.getExtensions()[0]), error .getNewAnalyser()); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -8,12 +8,15 @@ import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluLibFile; +import org.fudaa.dodico.crue.common.CommonMessages; import org.fudaa.dodico.crue.common.CrueErrorManager; import org.fudaa.dodico.crue.metier.EMHProjet; import org.fudaa.dodico.crue.metier.EMHRun; import org.fudaa.dodico.crue.metier.ManagerEMHScenario; import org.fudaa.dodico.crue.metier.emh.EMHScenario; +import org.fudaa.dodico.crue.validation.EMHPropertiesValidator; import org.fudaa.dodico.crue.validation.ValidateConnectionModele; +import org.fudaa.dodico.crue.validation.EMHPropertiesValidator.NomValidator; /** * Classe qui se charge de charger en memoire un scénario donné. @@ -40,10 +43,10 @@ * @return true si ok */ public CrueErrorManager compute() { - final CrueErrorManager errorMng = new CrueErrorManager(ProjetMessages.RESOURCE_BUNDLE); + final CrueErrorManager errorMng = new CrueErrorManager(CommonMessages.RESOURCE_BUNDLE); final CtuluAnalyze analyzer = errorMng.getNewAnalyser(); errorMng.setMainAnalyze(analyzer); - analyzer.setDesc(ProjetMessages.RESOURCE_BUNDLE.getString("loader.fichiers.scenario.chargt") + " " + analyzer.setDesc(CommonMessages.RESOURCE_BUNDLE.getString("loader.fichiers.scenario.chargt") + " " + scenario.getNom()); final boolean ok = validFiles(errorMng); if (!ok) { return errorMng; } @@ -70,11 +73,22 @@ } } if (emhScenario == null) { return errorMng; } - scenario.setEmh(emhScenario); + // on valide les données final CtuluAnalyze analyseValidationCOnnexite = errorMng.getNewAnalyser(); - analyseValidationCOnnexite.setDesc(ProjetMessages.getString("validation.connexite", scenario.getNom())); + analyseValidationCOnnexite.setDesc(CommonMessages.getString("validation.connexite", scenario.getNom())); ValidateConnectionModele.validateConnexite(emhScenario, analyseValidationCOnnexite); + + final EMHPropertiesValidator propValidator = new EMHPropertiesValidator(); + emhScenario.setNom(scenario.getNom()); + final NomValidator res = propValidator.validateNoms(emhScenario.getAllEMH(), false); + final CtuluAnalyze nomValidationRes = res.getRes(); + errorMng.getAnalyser().add(nomValidationRes); + scenario.setCompatibleCrue9(res.isCrue9Compatible()); + scenario.setCompatibleCrue10(res.isCrue10Compatible()); + if (nomValidationRes.containsErrors()) { return errorMng; } + // finalement tout va bien: + scenario.setEmh(emhScenario); return errorMng; } @@ -95,7 +109,7 @@ } - private boolean validFileExists(CrueErrorManager error, final Map<String, URL> allFileUsed, final String title) { + private boolean validFileExists(final CrueErrorManager error, final Map<String, URL> allFileUsed, final String title) { CtuluAnalyze fileNotExist = null; boolean valid = true; for (final URL f : allFileUsed.values()) { @@ -103,8 +117,8 @@ valid = false; if (fileNotExist == null) { fileNotExist = error.getNewAnalyser(); - fileNotExist.setDefaultResourceBundle(ProjetMessages.RESOURCE_BUNDLE); - fileNotExist.setDesc(ProjetMessages.RESOURCE_BUNDLE.getString(title)); + fileNotExist.setDefaultResourceBundle(CommonMessages.RESOURCE_BUNDLE); + fileNotExist.setDesc(CommonMessages.RESOURCE_BUNDLE.getString(title)); } fileNotExist.addError("loader.fichier.notExist.error", f.toString()); } @@ -119,8 +133,8 @@ if (!urlExist(url)) { valid = false; if (fileNotExist == null) { - fileNotExist = new CtuluAnalyze(ProjetMessages.RESOURCE_BUNDLE); - fileNotExist.setDesc(ProjetMessages.RESOURCE_BUNDLE.getString("loader.resFichier.exist")); + fileNotExist = new CtuluAnalyze(CommonMessages.RESOURCE_BUNDLE); + fileNotExist.setDesc(CommonMessages.RESOURCE_BUNDLE.getString("loader.resFichier.exist")); } fileNotExist.addWarn("loader.resFichier.notExist.error", url.toString()); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -91,6 +91,7 @@ } final EMHScenario emhScenario = res.getScenarioData(); res.getModele().setNom(modele.getNom()); + res.getSousModele().setNom(CruePrefix.changePrefix(modele.getNom(), CruePrefix.P_MODELE, CruePrefix.P_SS_MODELE)); EMHHelper.addRelationContientEMH(emhScenario, res.getModele()); EMHHelper.addRelationContientEMH(res.getModele(), res.getSousModele()); return emhScenario; Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -5,6 +5,7 @@ import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.dodico.crue.common.CrueErrorManager; +import org.fudaa.dodico.crue.common.CommonMessages; import org.fudaa.dodico.crue.metier.EMHProjet; import org.fudaa.dodico.crue.metier.EMHRun; import org.fudaa.dodico.crue.metier.ManagerEMHScenario; @@ -42,10 +43,10 @@ * @return true si réussite */ public CrueErrorManager saveWithScenarioType() { - final CrueErrorManager errorMng = new CrueErrorManager(ProjetMessages.RESOURCE_BUNDLE); + final CrueErrorManager errorMng = new CrueErrorManager(CommonMessages.RESOURCE_BUNDLE); final CtuluAnalyze analyzer = errorMng.getNewAnalyser(); errorMng.setMainAnalyze(analyzer); - analyzer.setDesc(ProjetMessages.getString("write.scenario.action", scenario.getNom())); + analyzer.setDesc(CommonMessages.getString("write.scenario.action", scenario.getNom())); if (projet.getScenario(scenario.getNom()) == null) { analyzer.addFatalError("not.scenario.error", scenario.getNom()); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -33,6 +33,10 @@ public boolean save(final Map<String, File> files) { final CtuluAnalyze analyzer = errorManager.getMainAnalyze(); + if (!scenario.isCompatibleCrue9()) { + analyzer.addFatalError("scenario.nonCompatible.crue9"); + return false; + } // -- recherche des fichiers sous modeles --// final List<ManagerEMHModeleBase> fils = scenario.getFils(); if (fils.isEmpty()) { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -8,10 +8,11 @@ import java.util.Map; import java.util.TreeMap; +import org.apache.commons.lang.StringUtils; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.common.CommonMessages; import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.metier.emh.*; -import org.fudaa.dodico.crue.projet.ProjetMessages; /** * @author cde @@ -26,7 +27,7 @@ public static final String P_MODELE_E = "Me_"; public static final String P_SS_MODELE_E = "Se_"; public static final String P_SS_MODELE = "Sm_"; - public static final String P_NOEUD = "Nd_ "; + public static final String P_NOEUD = "Nd_"; public static final String P_CASIER = "Ca_"; public static final String P_BRANCHE = "Br_"; public static final String P_SECTION = "St_"; @@ -97,6 +98,10 @@ return typeLoi.toString() + "_"; } + public static String changePrefix(String nom, String oldPref, String newPref) { + return newPref + StringUtils.removeStart(nom, oldPref); + } + public static String getNom(final EnumTypeLoi typeLoi, final String suffixe) { return getPrefix(typeLoi) + suffixe; } @@ -136,7 +141,11 @@ return getNomAvecPrefixe(prefix, loi.getNom()); } - private static final int NB_CAR_MAX_CRUE9 = 16; + public static final int NB_CAR_MAX_CRUE9 = 16; + /** + * Le nombre max de caractère autorise dans un nom + */ + public static final int NB_CAR_MAX = 32; protected static void computeNom(final ObjetNomme obj, final String prefixe, final CtuluAnalyze analyze, final String codeErreur) { @@ -198,7 +207,7 @@ public static CtuluAnalyze verifiePrefixeNomDonneesCrue9(final CrueData crueData) { final List<EMH> listeEMHs = crueData.getAllEMH(); - final CtuluAnalyze analyze = new CtuluAnalyze(ProjetMessages.RESOURCE_BUNDLE); + final CtuluAnalyze analyze = new CtuluAnalyze(CommonMessages.RESOURCE_BUNDLE); for (final EMH emh : listeEMHs) { computeNom(emh, getPrefixFor(emh), analyze, "crue9.cant.rename.emh"); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/EMHPropertiesValidator.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/EMHPropertiesValidator.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/EMHPropertiesValidator.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -10,8 +10,10 @@ import org.apache.commons.beanutils.PropertyUtils; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.common.CommonMessages; import org.fudaa.dodico.crue.metier.emh.EMH; import org.fudaa.dodico.crue.metier.emh.InfosEMH; +import org.fudaa.dodico.crue.metier.emh.ObjetNomme; import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase; import org.fudaa.dodico.crue.metier.emh.RelationEMH; @@ -22,13 +24,126 @@ */ public class EMHPropertiesValidator { + public class NomValidator implements Validator { + private final boolean errorForCrue9; + boolean isCrue10Compatible = true; + boolean isCrue9Compatible = true; + + private final CtuluAnalyze res = new CtuluAnalyze(); + + private final Map<String, Object> used = new HashMap<String, Object>(); + + public NomValidator(final boolean errorForCrue9) { + super(); + this.errorForCrue9 = errorForCrue9; + res.setDefaultResourceBundle(CommonMessages.RESOURCE_BUNDLE); + res.setDesc(CommonMessages.getString("validation.noms")); + } + + public CtuluAnalyze createAnalyzeForEMH(final EMH emh) { + return res; + } + + /** + * @return the res + */ + public CtuluAnalyze getRes() { + return res; + } + + /** + * @return the isCrue10Compatible + */ + public boolean isCrue10Compatible() { + return isCrue10Compatible; + } + + /** + * @return the isCrue9Compatible + */ + public boolean isCrue9Compatible() { + return isCrue9Compatible; + } + + public void validate(final Object o, final CtuluAnalyze res) { + if (o instanceof ObjetNomme) { + final String nom = ((ObjetNomme) o).getNom(); + System.err.println("test de " + nom); + final int length = nom.length(); + if (length > CruePrefix.NB_CAR_MAX) { + isCrue10Compatible = false; + res.addError("valid.nom.tooLong", nom); + } + if (length > CruePrefix.NB_CAR_MAX_CRUE9) { + isCrue9Compatible = false; + if (errorForCrue9) { + res.addError("valid.nom.tooLong.crue9", nom); + } else { + res.addWarn("valid.nom.tooLong.crue9", nom); + } + } + final Object usedObject = used.get(nom); + if (usedObject == null) { + used.put(nom, o); + } else if (!usedObject.equals(o)) { + res.addError("valid.nom.notUnique", nom); + } + + } + + } + } + private interface ValidateObjects<T> { void getObjects(T in, Set<Object> collector); } + private interface Validator { + CtuluAnalyze createAnalyzeForEMH(EMH emh); + + void validate(Object o, CtuluAnalyze res); + } + + private class ValueValidator implements Validator { + final Map<String, NumberPropertyValidator> map; + + public ValueValidator(final Map<String, NumberPropertyValidator> map) { + super(); + this.map = map; + } + + public CtuluAnalyze createAnalyzeForEMH(final EMH emh) { + final CtuluAnalyze emhAnalyze = new CtuluAnalyze(); + emhAnalyze.setDesc(emh.getNom()); + emhAnalyze.setResource(emh.getClass().toString()); + return emhAnalyze; + } + + public void validate(final Object o, final CtuluAnalyze res) { + validateObject(res, o, map); + } + } + + protected static void validateObject(final CtuluAnalyze analyze, final Object o, + final Map<String, NumberPropertyValidator> ranges) { + final PropertyDescriptor[] propertyDescriptors = PropertyUtils.getPropertyDescriptors(o.getClass()); + for (int i = 0; i < propertyDescriptors.length; i++) { + final PropertyDescriptor desc = propertyDescriptors[i]; + final NumberPropertyValidator r = ranges.get(desc.getName()); + if (r != null) { + // System.err.println("test de " + desc.getName() + " sur " + o.getClass()); + r.validate(o, analyze); + } + + } + + } + private final Map<Class, ValidateObjects> objects = new HashMap<Class, ValidateObjects>(); + Set validatedObjects = new HashSet(); + public EMHPropertiesValidator() { final ValidateObjects<ParamNumModeleBase> pnum = new ValidateObjects<ParamNumModeleBase>() { @@ -42,35 +157,14 @@ objects.put(ParamNumModeleBase.class, pnum); } - Set validatedObjects = new HashSet(); - - public List<CtuluAnalyze> validate(final List<EMH> emhs) { - final CtuluAnalyze analyze = new CtuluAnalyze(); - final NumberPropertyValidatorsBuilder builder = NumberPropertyValidatorsBuilder - .load(new VariableBuilder(), analyze); - final Map<String, NumberPropertyValidator> map = builder.build(emhs); - - final List<CtuluAnalyze> res = new ArrayList<CtuluAnalyze>(); - if (!analyze.isEmpty()) { - res.add(analyze); - } - for (final EMH emh : emhs) { - if (!validatedObjects.contains(emh)) { - // validatedObjects.add(emh); - final CtuluAnalyze emhAnalyze = new CtuluAnalyze(); - emhAnalyze.setDesc(emh.getNom()); - emhAnalyze.setResource(emh.getClass().toString()); - Set<Object> listToTest = getObjectsFor(emh); - for (Object objectToTest : listToTest) { - validateObject(emhAnalyze, objectToTest, map); - } - if (!emhAnalyze.isEmpty()) { - res.add(emhAnalyze); - } + private void add(final Set out, final Object o) { + if (o != null) { + out.add(o); + final ValidateObjects allSousObject = objects.get(o.getClass()); + if (allSousObject != null) { + allSousObject.getObjects(o, out); } - } - return res; } @SuppressWarnings("serial") @@ -98,27 +192,43 @@ return out; } - private void add(final Set out, final Object o) { - if (o != null) { - out.add(o); - final ValidateObjects allSousObject = objects.get(o.getClass()); - if (allSousObject != null) { - allSousObject.getObjects(o, out); - } + public NomValidator validateNoms(final List<EMH> emhs, final boolean errorForCrue9) { + final NomValidator validator = new NomValidator(errorForCrue9); + validateValues(emhs, validator, null); + return validator; + } + + public List<CtuluAnalyze> validateValues(final List<EMH> emhs) { + final CtuluAnalyze analyze = new CtuluAnalyze(); + final NumberPropertyValidatorsBuilder builder = NumberPropertyValidatorsBuilder + .load(new VariableBuilder(), analyze); + final Map<String, NumberPropertyValidator> map = builder.build(emhs); + final ValueValidator value = new ValueValidator(map); + final List<CtuluAnalyze> res = new ArrayList<CtuluAnalyze>(); + if (!analyze.isEmpty()) { + res.add(analyze); } + return validateValues(emhs, value, res); } - private void validateObject(CtuluAnalyze analyze, final Object o, Map<String, NumberPropertyValidator> ranges) { - final PropertyDescriptor[] propertyDescriptors = PropertyUtils.getPropertyDescriptors(o.getClass()); - for (int i = 0; i < propertyDescriptors.length; i++) { - PropertyDescriptor desc = propertyDescriptors[i]; - NumberPropertyValidator r = ranges.get(desc.getName()); - if (r != null) { - // System.err.println("test de " + desc.getName() + " sur " + o.getClass()); - r.validate(o, analyze); + public List<CtuluAnalyze> validateValues(final List<EMH> emhs, final Validator validator, final List<CtuluAnalyze> in) { + final List<CtuluAnalyze> res = in == null ? new ArrayList<CtuluAnalyze>() : in; + CtuluAnalyze lastAnalyze = null; + for (final EMH emh : emhs) { + if (!validatedObjects.contains(emh)) { + // validatedObjects.add(emh); + CtuluAnalyze emhAnalyze = validator.createAnalyzeForEMH(emh); + final Set<Object> listToTest = getObjectsFor(emh); + for (final Object objectToTest : listToTest) { + validator.validate(objectToTest, emhAnalyze); + } + if (!emhAnalyze.isEmpty() && lastAnalyze != emhAnalyze) { + res.add(emhAnalyze); + } + lastAnalyze = emhAnalyze; } } - + return res; } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/NumberPropertyValidator.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/NumberPropertyValidator.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/NumberPropertyValidator.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -22,7 +22,7 @@ try { return (Number) PropertyUtils.getProperty(o, paramToValid); } catch (final Exception e) { - e.printStackTrace(); + analyze.manageException(e); } return null; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -18,8 +18,8 @@ import org.apache.commons.lang.StringUtils; import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.dodico.crue.common.CrueErrorManager; +import org.fudaa.dodico.crue.common.CommonMessages; import org.fudaa.dodico.crue.metier.ManagerEMHScenario; -import org.fudaa.dodico.crue.projet.ProjetMessages; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.xml.sax.InputSource; @@ -95,7 +95,7 @@ * @return le manager d'erreur. */ public CrueErrorManager validate(CrueErrorManager in) { - final CrueErrorManager res = in == null ? new CrueErrorManager(ProjetMessages.RESOURCE_BUNDLE) : in; + final CrueErrorManager res = in == null ? new CrueErrorManager(CommonMessages.RESOURCE_BUNDLE) : in; final CtuluAnalyze analyze = writeScenario(); if (analyze.containsErrors()) { res.getAnalyser().add(analyze); @@ -136,7 +136,7 @@ map.put(e.getSystemId(), analyze); } - analyze.addErrorFromFile(ProjetMessages.RESOURCE_BUNDLE.getString("valid.line") + " " + e.getLineNumber() + analyze.addErrorFromFile(CommonMessages.RESOURCE_BUNDLE.getString("valid.line") + " " + e.getLineNumber() + ": " + msg, e.getLineNumber()); // e.printStackTrace(); } Copied: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties (from rev 4897, trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/projet/projetMessages.properties) =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties 2009-07-02 22:18:51 UTC (rev 4899) @@ -0,0 +1,42 @@ + +crue9.cant.rename.emh = L'emh nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res +crue9.cant.rename.frt = Le profil nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res +crue9.cant.rename.lit = Le frottement nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res +crue9.cant.rename.profil = Le profil casier nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res +crue9.cant.rename.profilCasier = Le lit nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res +crue9.oneModele.authorized = Un seul mod\u00E8le est autoris\u00E9 pour les sc\u00E9narios Crue 9 + +filetype.unknown.error = Le type de fichier {0} n'est pas support\u00E9 + +io.xml.erreur = Erreur \u00E0 la lecture d'un fichier xml {0} + +loader.crue9.noDefined = Le fichier {0} n'est pas d\u00E9fini pour le mod\u00E8le {1} +loader.fichier.etude.exist = Validation des fichiers de l'\u00E9tude +loader.fichier.notExist.error = Le fichier {0} n'existe pas +loader.fichier.run.exist = Validation des fichiers du run courant +loader.fichiers.scenario.chargt = Chargement des fichiers du scenario +loader.fichiers.scenario.list = Fichiers existants dans le sc\u00E9nario +loader.resFichier.exist = Validation des fichiers r\u00E9sultats +loader.resFichier.notExist.error = Le fichier de r\u00E9sultat {0} n'existe pas + +noCurrentModele.error = Pas de mod\u00E8le pour le sc\u00E9nario. + +noCurrentRun.error = Pas de run courant pour le sc\u00E9nario. + +noCurrentSousModele.error = Pas de sous-mod\u00E8le pour le mod\u00E8le {0}. + +not.scenario.error = Le sc\u00E9nario {0} n'est pas un sc\u00E9nario du projet courant + +scenario.nonCompatible.crue9 = Le sc\u00E9nario n'est pas compatible avec Crue9 + +valid.line = Ligne +valid.nom.notUnique = Le nom {0} n'est pas unique +valid.nom.tooLong = Le nom {0} est trop long, il d\u00E9passe les 32 caract\u00E8res +valid.nom.tooLong.crue9 = Le nom {0} est trop long pour une sortie Crue 9 ( max 16 carac.) + +validation.connexite = Validation Connexit\u00E9 {0} +validation.noms = Validation des noms + +write.modele.noFound = Le mod\u00E8le {0} n'a pas \u00E9t\u00E9 trouv\u00E9 dans le sc\u00E9nario {1} +write.scenario.action = Sauvegarde du sc\u00E9nario {0} +write.sousModele.noFound = Le sous-mod\u00E8le {0} n'a pas \u00E9t\u00E9 trouv\u00E9 dans le mod\u00E8le {1} Deleted: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/projet/projetMessages.properties =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/projet/projetMessages.properties 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/projet/projetMessages.properties 2009-07-02 22:18:51 UTC (rev 4899) @@ -1,36 +0,0 @@ - -crue9.cant.rename.emh = L'emh nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res -crue9.cant.rename.frt = Le profil nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res -crue9.cant.rename.lit = Le frottement nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res -crue9.cant.rename.profil = Le profil casier nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res -crue9.cant.rename.profilCasier = Le lit nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res -crue9.oneModele.authorized = Un seul mod\u00E8le est autoris\u00E9 pour les sc\u00E9narios Crue 9 - -filetype.unknown.error = Le type de fichier {0} n'est pas support\u00E9 - -io.xml.erreur = Erreur \u00E0 la lecture d'un fichier xml {0} - -loader.crue9.noDefined = Le fichier {0} n'est pas d\u00E9fini pour le mod\u00E8le {1} -loader.fichier.etude.exist = Validation des fichiers de l'\u00E9tude -loader.fichier.notExist.error = Le fichier {0} n'existe pas -loader.fichier.run.exist = Validation des fichiers du run courant -loader.fichiers.scenario.chargt = Chargement des fichiers du scenario -loader.fichiers.scenario.list = Fichiers existants dans le sc\u00E9nario -loader.resFichier.exist = Validation des fichiers r\u00E9sultats -loader.resFichier.notExist.error = Le fichier de r\u00E9sultat {0} n'existe pas - -noCurrentModele.error = Pas de mod\u00E8le pour le sc\u00E9nario. - -noCurrentRun.error = Pas de run courant pour le sc\u00E9nario. - -noCurrentSousModele.error = Pas de sous-mod\u00E8le pour le mod\u00E8le {0}. - -not.scenario.error = Le sc\u00E9nario {0} n'est pas un sc\u00E9nario du projet courant - -valid.line = Ligne - -validation.connexite = Validation Connexit\u00E9 {0} - -write.modele.noFound = Le mod\u00E8le {0} n'a pas \u00E9t\u00E9 trouv\u00E9 dans le sc\u00E9nario {1} -write.scenario.action = Sauvegarde du sc\u00E9nario {0} -write.sousModele.noFound = Le sous-mod\u00E8le {0} n'a pas \u00E9t\u00E9 trouv\u00E9 dans le mod\u00E8le {1} Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/ExampleEMHPropertiesValidator.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/ExampleEMHPropertiesValidator.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/ExampleEMHPropertiesValidator.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -20,7 +20,7 @@ public static void main(final String[] args) { final List<EMH> buildEMHs = ExampleValidationVariableBuilder.buildEMHs(); final EMHPropertiesValidator validator = new EMHPropertiesValidator(); - final List<CtuluAnalyze> validate = validator.validate(buildEMHs); + final List<CtuluAnalyze> validate = validator.validateValues(buildEMHs); for (final CtuluAnalyze ctuluAnalyze : validate) { ctuluAnalyze.printResume(); } Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java 2009-07-01 22:35:48 UTC (rev 4898) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java 2009-07-02 22:18:51 UTC (rev 4899) @@ -1,5 +1,6 @@ package org.fudaa.fudaa.crue.projet; +import org.fudaa.dodico.crue.common.CommonMessages; import org.fudaa.dodico.crue.common.CrueErrorManager; import org.fudaa.dodico.crue.io.common.CrueDataImpl; import org.fudaa.dodico.crue.metier.ManagerEMHScenario; @@ -77,6 +78,11 @@ */ public boolean generateInCrue9() { + if (!scenarioToPersist.isCompatibleCrue9()) { + projet.getImpl().error(CommonMessages.getString("scenario.nonCompatible.crue9")); + return false; + } + ScenarioExporterCrue9 loader = new ScenarioExporterCrue9(fichierModele, CrueDataImpl .buildConcatFor(scenarioToPersist.getEmh())); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2009-07-05 22:35:56
|
Revision: 4901 http://fudaa.svn.sourceforge.net/fudaa/?rev=4901&view=rev Author: deniger Date: 2009-07-05 22:35:48 +0000 (Sun, 05 Jul 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluDefaultLogFormatter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/DateDurationConverter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueData.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/dao/CrueConverterDRSO.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterOPTG.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureOPTG.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueHelper.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueXmlReaderWriterImpl.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Reader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.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/FCBSequentialReader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRReader.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/EMHFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoBatiCasier.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoProfilCasier.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoProfilSection.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMH.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/LigneForce.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/LitNomme.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Loi.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ObjetNomme.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ParamNumCalcPseudoPerm.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Regle.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtData.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtDataLitPos.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/emh/ValParam.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/ScenarioLoader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver10.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/NumberPropertyValidator.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/NumberPropertyValidatorsBuilder.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/NumberRangeValidator.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/validation/validation.txt trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/etu-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dptg-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-pnum-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/comparaison/TestComparaisonFactory.java 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/TestCrueDH.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueOPTGFile.java trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Etude.etu.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dc trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dh trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele4-1.drso.xml trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CommonGuiLib.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommonImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueEditorImplementation.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/CrueProjet.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoaderUI.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java trunk/soft/fudaa-crue/fudaa/src/main/resources/org/fudaa/fudaa/crue/common/ihmMessages.properties Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ComparaisonGroup.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ComparaisonNode.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ComparaisonNodeFinal.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertComparaisonConteneur.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertCompare.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOn.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItem.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItemMerge.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItemRequest.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/common/ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/common/ComparaisonMessages.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/config/ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/config/AbstractConfCompare.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/config/AbstractConfSelectionItem.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/config/ConfComparaison.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/config/ConfComparaisonConteneur.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/config/ConfCompare.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/config/ConfCompareListe.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/config/ConfCompareObject.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/config/ConfCompareSpecific.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/config/ConfOption.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/config/ConfSelection.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/config/ConfSelectionItem.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/config/ConfSelectionItemMerge.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/config/ConfSelectionItemRequete.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/io/ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/io/ReaderConfig.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/AbstractEqualsTester.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/AbstractTemplateEqualsTesterDouble.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTester.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterArray.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterArrayDouble.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterArrayFloat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterArrayInteger.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterArrayLong.java 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/EqualsTesterCollection.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterDate.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterDouble.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterDuration.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterInteger.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterIsIncludeCollection.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterItemBuilder.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterLong.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterObject.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterPeriod.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterPoint2D.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/FactoryEqualsTester.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/ResultatTest.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/TemplateEqualsTesterLong.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/TesterContext.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/TesterContextFactory.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/common/ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/comparaison/common/comparaisonMessages.properties trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/comparaison/io/ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/comparaison/io/comparaison-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/comparaison/TestConvertCompare.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/comparaison/TestConvertSelectOn.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/comparaison/io/ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/comparaison/io/TestReaderConfig.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestEMHPropertiesValidator.java trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele6.dc trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele6.dh trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele7.dc trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele7.dh trunk/soft/fudaa-crue/dodico/src/test/resources/org/fudaa/dodico/crue/comparaison/ trunk/soft/fudaa-crue/dodico/src/test/resources/org/fudaa/dodico/crue/comparaison/io/ trunk/soft/fudaa-crue/dodico/src/test/resources/org/fudaa/dodico/crue/comparaison/io/testComparaison.xml Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/AbstractEqualsTester.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/AbstractTemplateEqualsTesterDouble.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/BuilderEqualsTesterItem.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTester.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArray.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayDouble.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayFloat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayInteger.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayLong.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterBean.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterCollection.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterDate.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterDouble.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterDuration.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterInteger.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterLong.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterObject.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterPeriod.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterPoint2D.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/FactoryEqualsTester.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/TemplateEqualsTesterLong.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/EMHPropertiesValidator.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/ExampleEMHPropertiesValidator.java trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest.zip trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTestNew.zip Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluDefaultLogFormatter.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluDefaultLogFormatter.java 2009-07-02 22:20:25 UTC (rev 4900) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluDefaultLogFormatter.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -11,8 +11,6 @@ import java.util.logging.LogRecord; import java.util.logging.SimpleFormatter; -import com.memoire.fu.FuLib; - /** * Formateur par defaut pour les logs * @@ -135,10 +133,7 @@ // final Map<String, Object> params = (Map<String, Object>) parameters[0]; if (catalog != null) { // TODO a ameliorer... - for (int i = 0; i < parameters.length; i++) { - format = FuLib.replace(format, "{" + i + "}", parameters[i].toString()); - - } + format = MessageFormat.format(format, parameters); } // final StringBuilder res = new StringBuilder(format.length() + parameters.length * 20); // res.append(format).append(" "); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/DateDurationConverter.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/DateDurationConverter.java 2009-07-02 22:20:25 UTC (rev 4900) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/DateDurationConverter.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -104,7 +104,8 @@ * @return la duration correspondante */ public static Duration getDuration(final String xsdDuration) { - return getDaysHourMinSecPeriod(xsdDuration).toStandardDuration(); + if (xsdDuration == null) { return null; } + return getDaysHourMinSecPeriod(xsdDuration.trim()).toStandardDuration(); } /** @@ -112,7 +113,8 @@ * @return la date */ public static LocalDateTime getDate(final String xsdDuration) { - return XSD_DATE_PARSER.parseDateTime(xsdDuration).toLocalDateTime(); + if (xsdDuration == null) { return null; } + return XSD_DATE_PARSER.parseDateTime(xsdDuration.trim()).toLocalDateTime(); } /** Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/AbstractEqualsTester.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/AbstractEqualsTester.java 2009-07-02 22:20:25 UTC (rev 4900) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/AbstractEqualsTester.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -1,34 +0,0 @@ -package org.fudaa.dodico.crue.comparaison; - - -/** - * Tests de comparaison par défaut gérant les null. - * - * @author denf01a - * @creation 22 juin 2009 - * @version - * @param <T> - */ -public abstract class AbstractEqualsTester<T> implements EqualsTester<T> { - - public final boolean isSame(final T o1, final T o2, ComparaisonResult res) { - if (o1 == o2) { return true; } - if (o1 == null || o2 == null) { return false; } - // try { - return isSameSafe(o1, o2, res); - // } catch (ClassCastException e) { - // // FIXME Auto-generated catch block - // e.printStackTrace(); - // } - // return false; - } - - /** - * @param o1 non null - * @param o2 non null - * @param res FIXME - * @return true si egaux. - */ - public abstract boolean isSameSafe(T o1, T o2, ComparaisonResult res); - -} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/AbstractTemplateEqualsTesterDouble.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/AbstractTemplateEqualsTesterDouble.java 2009-07-02 22:20:25 UTC (rev 4900) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/AbstractTemplateEqualsTesterDouble.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -1,39 +0,0 @@ -package org.fudaa.dodico.crue.comparaison; - -/** - * un template pour comparer des long. - * - * @author denf01a - * @creation 18 juin 2009 - * @version - * @param <T> le type d'objet a comparer. - */ -public abstract class AbstractTemplateEqualsTesterDouble<T> extends AbstractEqualsTester<T> { - - private double eps = 0; - - /** - * @return l'epsilon utilise pour les comparaison - */ - public double getEps() { - return eps; - } - - /** - * @param eps l'epsilon utilise pour les comparaison - */ - public void setEps(final double eps) { - this.eps = Math.abs(eps); - } - - /** - * @param d1 le double a comparer - * @param d2 le double a comparer - * @return true si egaux a eps pres. - */ - public boolean isSameDouble(final double d1, final double d2) { - if (eps > 0) { return Math.abs(d1 - d2) <= eps; } - return d1 == d2; - } - -} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/BuilderEqualsTesterItem.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/BuilderEqualsTesterItem.java 2009-07-02 22:20:25 UTC (rev 4900) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/BuilderEqualsTesterItem.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -1,140 +0,0 @@ -package org.fudaa.dodico.crue.comparaison; - -import java.util.Map; - -import org.joda.time.Duration; -import org.joda.time.LocalDateTime; -import org.joda.time.Period; - -/** - * @author denf01a - * @creation 24 juin 2009 - * @version - * @param <T> - */ -public abstract class BuilderEqualsTesterItem<T extends EqualsTester> { - - protected static final LongTester LONG_TESTER = new LongTester(); - - protected static final IntegerTester INTEGER_TESTER = new IntegerTester(); - - protected static final DoubleTester DOUBLE_TESTER = new DoubleTester(); - - protected static final EqualsTesterInteger ZERO_INT_TESTER = new EqualsTesterInteger(); - protected static final EqualsTesterLong ZERO_LONG_TESTER = new EqualsTesterLong(); - protected static final EqualsTesterObject BASIC_OBJECT_TESTER = new EqualsTesterObject(); - - protected static void addDefault(final Map<Class, BuilderEqualsTesterItem> dest) { - final DoubleTester d = DOUBLE_TESTER; - dest.put(Double.class, d); - dest.put(Float.class, d); - dest.put(Integer.class, INTEGER_TESTER); - dest.put(Long.class, LONG_TESTER); - dest.put(Duration.class, new DurationTester()); - dest.put(Period.class, new PeriodTester()); - dest.put(LocalDateTime.class, new DateTester()); - dest.put(String.class, new BasicObjectTester()); - } - - public static class BasicObjectTester extends BuilderEqualsTesterItem<EqualsTesterObject> { - - @Override - protected EqualsTesterObject build(final FactoryEqualsTester factory, final String propName, final Class propClass, - final Class parentClass) { - return BASIC_OBJECT_TESTER; - } - } - - public static class DateTester extends BuilderEqualsTesterItem<EqualsTesterDate> { - - private static final EqualsTesterDate ZERO = new EqualsTesterDate(); - static { - ZERO.setEps(1E-20); - } - - @Override - protected EqualsTesterDate build(final FactoryEqualsTester factory, final String propName, final Class propClass, - final Class parentClass) { - final double eps = factory.getEpsFor(propName); - if (eps <= 1E-20) { return ZERO; } - final EqualsTesterDate res = new EqualsTesterDate(); - res.setEps(eps); - return res; - } - } - - public static class DoubleTester extends BuilderEqualsTesterItem<EqualsTesterDouble> { - - private static final EqualsTesterDouble ZERO = new EqualsTesterDouble(); - static { - ZERO.setEps(1E-20); - } - - @Override - protected EqualsTesterDouble build(final FactoryEqualsTester factory, final String propName, final Class propClass, - final Class parentClass) { - final double eps = factory.getEpsFor(propName); - if (eps <= 1E-20) { return ZERO; } - final EqualsTesterDouble res = new EqualsTesterDouble(); - res.setEps(eps); - return res; - } - } - - public static class DurationTester extends BuilderEqualsTesterItem<EqualsTesterDuration> { - - private static final EqualsTesterDuration ZERO = new EqualsTesterDuration(); - static { - ZERO.setEps(1E-20); - } - - @Override - protected EqualsTesterDuration build(final FactoryEqualsTester factory, final String propName, - final Class propClass, final Class parentClass) { - final double eps = factory.getEpsFor(propName); - if (eps <= 1E-20) { return ZERO; } - final EqualsTesterDuration res = new EqualsTesterDuration(); - res.setEps(eps); - return res; - } - } - - public static class IntegerTester extends BuilderEqualsTesterItem<EqualsTesterInteger> { - - @Override - protected EqualsTesterInteger build(final FactoryEqualsTester factory, final String propName, - final Class propClass, final Class parentClass) { - return ZERO_INT_TESTER; - } - } - - public static class LongTester extends BuilderEqualsTesterItem<EqualsTesterLong> { - - @Override - protected EqualsTesterLong build(final FactoryEqualsTester factory, final String propName, final Class propClass, - final Class parentClass) { - return ZERO_LONG_TESTER; - } - } - - public static class PeriodTester extends BuilderEqualsTesterItem<EqualsTesterPeriod> { - - private static final EqualsTesterPeriod ZERO = new EqualsTesterPeriod(); - static { - ZERO.setEps(1E-20); - } - - @Override - protected EqualsTesterPeriod build(final FactoryEqualsTester factory, final String propName, final Class propClass, - final Class parentClass) { - final double eps = factory.getEpsFor(propName); - if (eps <= 1E-20) { return ZERO; } - final EqualsTesterPeriod res = new EqualsTesterPeriod(); - res.setEps(eps); - return res; - } - } - - protected abstract T build(FactoryEqualsTester factory, String propName, Class propClass, Class parentClass); - -} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ComparaisonGroup.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ComparaisonGroup.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ComparaisonGroup.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -0,0 +1,20 @@ +package org.fudaa.dodico.crue.comparaison; + +import java.util.ArrayList; +import java.util.List; + +public class ComparaisonGroup extends ComparaisonNode { + + List<ComparaisonNode> fils = new ArrayList<ComparaisonNode>(); + + @Override + public List<ComparaisonNode> getFils() { + return fils; + } + + @Override + public boolean isFeuille() { + return false; + } + +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ComparaisonNode.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ComparaisonNode.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ComparaisonNode.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -0,0 +1,15 @@ +package org.fudaa.dodico.crue.comparaison; + +import java.util.List; + +public abstract class ComparaisonNode { + ComparaisonNode parent; + String print; + Object objetA; + Object objetB; + + public abstract boolean isFeuille(); + + public abstract List<ComparaisonNode> getFils(); + +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ComparaisonNodeFinal.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ComparaisonNodeFinal.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ComparaisonNodeFinal.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -0,0 +1,21 @@ +package org.fudaa.dodico.crue.comparaison; + +import java.util.Collections; +import java.util.List; + +public class ComparaisonNodeFinal extends ComparaisonNode { + + List listObjectA; + List listObjectB; + + @Override + public List<ComparaisonNode> getFils() { + return Collections.emptyList(); + } + + @Override + public boolean isFeuille() { + return true; + } + +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertComparaisonConteneur.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertComparaisonConteneur.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertComparaisonConteneur.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -0,0 +1,65 @@ +package org.fudaa.dodico.crue.comparaison; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.collections.CollectionUtils; +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.comparaison.ConvertCompare.CompareActionBuilder; +import org.fudaa.dodico.crue.comparaison.config.ConfComparaison; +import org.fudaa.dodico.crue.comparaison.config.ConfComparaisonConteneur; +import org.fudaa.dodico.crue.comparaison.config.ConfCompare; +import org.fudaa.dodico.crue.comparaison.tester.ResultatTest; + +public class ConvertComparaisonConteneur { + + ConfComparaisonConteneur in; + + public class CompareResult { + CtuluAnalyze analyze; + int nbObjectTested; + ResultatTest res; + String msg; + } + + public List<CompareResult> launch(final Object a, final Object b) { + List<ConfComparaison> comparaisons = in.getComparaisons(); + List<CompareResult> res = new ArrayList<CompareResult>(comparaisons.size()); + for (ConfComparaison cmp : comparaisons) { + res.add(launch(cmp, a, b)); + } + return res; + } + + public CompareResult launch(final ConfComparaison cmp, final Object a, final Object b) { + final CompareResult res = new CompareResult(); + res.msg = cmp.getNom(); + res.analyze = new CtuluAnalyze(); + final List<ConfCompare> compare = cmp.getCompare(); + final CompareActionBuilder tester = new ConvertCompare().convert(compare.get(0), res.analyze); + if (tester == null) { return res; } + final ConvertSelectOn selector = new ConvertSelectOn(); + selector.setA(a); + selector.setB(b); + selector.setSelect(cmp.getSelection()); + List<ComparaisonNodeFinal> go = null; + try { + go = selector.go(); + } catch (final Exception e) { + res.analyze.manageException(e); + } + if (CollectionUtils.isEmpty(go)) { return res; } + res.nbObjectTested = go.size(); + // List<CtuluAnalyze> analyze = new ArrayList<CtuluAnalyze>(go.size()); + final ResultatTest test = new ResultatTest(a, b, cmp.getNom()); + // final CtuluAnalyze collector = new CtuluAnalyze(); + res.analyze.setDesc(cmp.getNom()); + res.res = test; + for (final ComparaisonNodeFinal toTest : go) { + tester.launch(toTest, test, res.analyze); + } + + return res; + + } +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertCompare.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertCompare.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertCompare.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -0,0 +1,126 @@ +package org.fudaa.dodico.crue.comparaison; + +import java.util.List; + +import org.apache.commons.collections.CollectionUtils; +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.comparaison.config.ConfCompare; +import org.fudaa.dodico.crue.comparaison.config.ConfCompareListe; +import org.fudaa.dodico.crue.comparaison.config.ConfCompareObject; +import org.fudaa.dodico.crue.comparaison.tester.EqualsTester; +import org.fudaa.dodico.crue.comparaison.tester.EqualsTesterBean; +import org.fudaa.dodico.crue.comparaison.tester.EqualsTesterIsIncludeCollection; +import org.fudaa.dodico.crue.comparaison.tester.FactoryEqualsTester; +import org.fudaa.dodico.crue.comparaison.tester.ResultatTest; +import org.fudaa.dodico.crue.comparaison.tester.TesterContext; + +public class ConvertCompare { + + FactoryEqualsTester factory; + + public interface CompareActionBuilder { + boolean launch(ComparaisonNodeFinal target, ResultatTest parent, CtuluAnalyze collector); + } + + public class CompareActionOnList implements CompareActionBuilder { + final EqualsTester tester; + + public CompareActionOnList(EqualsTester tester) { + super(); + this.tester = tester; + } + + public boolean launch(ComparaisonNodeFinal target, ResultatTest parent, CtuluAnalyze collector) { + TesterContext create = tester.getContextFactory().create(); + create.setError(collector); + try { + return tester.isSame(target.listObjectA, target.listObjectB, parent, create); + } catch (Exception e) { + collector.manageException(e); + } + return false; + + } + } + + public class CompareActionOnObject implements CompareActionBuilder { + final EqualsTester tester; + + public CompareActionOnObject(EqualsTester tester) { + this.tester = tester; + } + + public boolean launch(ComparaisonNodeFinal target, ResultatTest parent, CtuluAnalyze collector) { + + List a = target.listObjectA; + List b = target.listObjectB; + if (a == b) { return true; } + if (a == null) { + parent.getFils().add(new ResultatTest(a, b, "Liste de a est null")); + return false; + } + if (b == null) { + parent.getFils().add(new ResultatTest(a, b, "Liste de b est null")); + return false; + } + int size = a.size(); + if (size != b.size()) { + parent.getFils().add(new ResultatTest(a, b, "Taile différente des listes " + size + " diff de " + b.size())); + return false; + + } + boolean res = true; + try { + for (int i = 0; i < size; i++) { + TesterContext create = tester.getContextFactory().create(); + create.setError(collector); + res = res & tester.isSame(a.get(i), b.get(i), parent, create); + } + } catch (Exception e) { + collector.manageException(e); + } + return res; + + } + } + + /** + * @return the factory + */ + public FactoryEqualsTester getFactory() { + return factory; + } + + /** + * @param factory the factory to set + */ + public void setFactory(FactoryEqualsTester factory) { + this.factory = factory; + } + + CompareActionBuilder convert(final ConfCompare in, final CtuluAnalyze analyze) { + if (in == null) { return null; } + final Class inClass = in.getClass(); + if (ConfCompareObject.class.equals(inClass)) { + final ConfCompareObject inObject = (ConfCompareObject) in; + final EqualsTesterBean res = new EqualsTesterBean(factory); + res.getContextFactory().setMaxDeep(inObject.getDeep()); + res.setPropToCompare(inObject.getAttributs()); + if (CollectionUtils.isNotEmpty(inObject.getOptions())) { + analyze.addWarn("options.notManaged.forCompareObject"); + } + return new CompareActionOnObject(res); + } else if (ConfCompareListe.class.equals(inClass)) { + final ConfCompareListe inObject = (ConfCompareListe) in; + final EqualsTesterIsIncludeCollection res = new EqualsTesterIsIncludeCollection(inObject.getAttribut(), inObject + .isBidirect()); + if (CollectionUtils.isNotEmpty(inObject.getOptions())) { + analyze.addWarn("options.notManaged.forCompareListe"); + } + return new CompareActionOnList(res); + } + analyze.addFatalError("compare.notRecognized", inClass); + return null; + + } +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOn.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOn.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOn.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -0,0 +1,67 @@ +package org.fudaa.dodico.crue.comparaison; + +import java.util.ArrayList; +import java.util.List; + +import org.fudaa.dodico.crue.comparaison.config.ConfSelection; +import org.fudaa.dodico.crue.comparaison.config.ConfSelectionItem; +import org.fudaa.dodico.crue.comparaison.config.ConfSelectionItemMerge; + +public class ConvertSelectOn { + + private Object a; + private Object b; + + private ConfSelection select; + + public Object getA() { + return a; + } + + public void setA(Object a) { + this.a = a; + } + + public Object getB() { + return b; + } + + public void setB(Object b) { + this.b = b; + } + + public ConfSelection getSelect() { + return select; + } + + public void setSelect(ConfSelection select) { + this.select = select; + } + + List<ComparaisonNodeFinal> go() throws Exception { + List<ComparaisonNodeFinal> init = new ArrayList<ComparaisonNodeFinal>(); + ComparaisonNodeFinal node = new ComparaisonNodeFinal(); + init.add(node); + node.listObjectA = new ArrayList(); + node.listObjectA.add(a); + node.objetA = a; + node.listObjectB = new ArrayList(); + node.listObjectB.add(b); + node.objetB = b; + List<ConfSelectionItem> selects = select.getItems(); + ConvertSelectOnItemRequest request = new ConvertSelectOnItemRequest(); + ConvertSelectOnItemMerge merge = new ConvertSelectOnItemMerge(); + for (ConfSelectionItem selectionItem : selects) { + ConvertSelectOnItem doer; + if (ConfSelectionItemMerge.class.equals(selectionItem.getClass())) { + doer = merge; + } else { + doer = request; + } + init = doer.compute(init, selectionItem); + + } + return init; + } + +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItem.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItem.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItem.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -0,0 +1,11 @@ +package org.fudaa.dodico.crue.comparaison; + +import java.util.List; + +import org.fudaa.dodico.crue.comparaison.config.ConfSelectionItem; + +public interface ConvertSelectOnItem { + + List<ComparaisonNodeFinal> compute(final List<ComparaisonNodeFinal> in, final ConfSelectionItem requete) throws Exception; + +} \ No newline at end of file Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItemMerge.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItemMerge.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItemMerge.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -0,0 +1,75 @@ +package org.fudaa.dodico.crue.comparaison; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.beanutils.PropertyUtils; +import org.fudaa.dodico.crue.comparaison.config.ConfSelectionItem; +import org.fudaa.dodico.crue.comparaison.config.ConfSelectionItemMerge; + +public class ConvertSelectOnItemMerge implements ConvertSelectOnItem { + + public List<ComparaisonNodeFinal> compute(final List<ComparaisonNodeFinal> in, final ConfSelectionItem requete) + throws Exception { + return computeOn(in, (ConfSelectionItemMerge) requete); + } + + List<ComparaisonNodeFinal> computeOn(final List<ComparaisonNodeFinal> in, final ConfSelectionItemMerge requete) + throws Exception { + final List<ComparaisonNodeFinal> selectedBy = new ConvertSelectOnItemRequest().computeOn(in, requete.getRequest()); + // final List<ComparaisonNodeFinal> res = new ArrayList<ComparaisonNodeFinal>(); + for (final ComparaisonNodeFinal nodeFinal : selectedBy) { + computeOn(nodeFinal, requete); + } + return selectedBy; + } + + private void computeOn(final ComparaisonNodeFinal in, final ConfSelectionItemMerge requete) throws Exception { + final List lA = in.listObjectA; + final List lB = in.listObjectB; + + int min = Math.min(lA.size(), lB.size()); + + final List newA = new ArrayList(min); + final List newB = new ArrayList(min); + Map propA = getMap(lA, requete.getAttribut()); + Map propB = getMap(lB, requete.getAttribut()); + for (Iterator it = propA.entrySet().iterator(); it.hasNext();) { + Map.Entry entry = (Map.Entry) it.next(); + Object inB = propB.get(entry.getKey()); + if (inB != null) { + newA.add(entry.getValue()); + newB.add(inB); + } + } + in.listObjectA = newA; + in.listObjectB = newB; + + } + + public static Map getMap(Collection obj, String prop) throws Exception { + Map res = new HashMap(obj.size()); + for (Object object : obj) { + Object property = PropertyUtils.getProperty(object, prop); + res.put(property, object); + } + return res; + + } + + public static Set getSet(Collection obj, String prop) throws Exception { + Set res = new HashSet(obj.size()); + for (Object object : obj) { + Object property = PropertyUtils.getProperty(object, prop); + res.add(property); + } + return res; + + } +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItemRequest.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItemRequest.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItemRequest.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -0,0 +1,55 @@ +package org.fudaa.dodico.crue.comparaison; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.jxpath.JXPathContext; +import org.fudaa.dodico.crue.comparaison.config.ConfSelectionItem; +import org.fudaa.dodico.crue.comparaison.config.ConfSelectionItemRequete; + +public class ConvertSelectOnItemRequest implements ConvertSelectOnItem { + + public List<ComparaisonNodeFinal> compute(final List<ComparaisonNodeFinal> in, final ConfSelectionItem requete) + throws Exception { + return computeOn(in, (ConfSelectionItemRequete) requete); + } + + List<ComparaisonNodeFinal> computeOn(final List<ComparaisonNodeFinal> in, final ConfSelectionItemRequete requete) { + final List<ComparaisonNodeFinal> res = new ArrayList<ComparaisonNodeFinal>(); + for (final ComparaisonNodeFinal nodeFinal : in) { + computeOn(nodeFinal, requete, res); + } + return res; + } + + private void computeOn(final ComparaisonNodeFinal in, final ConfSelectionItemRequete requete, + final List<ComparaisonNodeFinal> res) { + final ComparaisonGroup gr = new ComparaisonGroup(); + gr.parent = in.parent; + gr.objetA = in.objetA; + gr.objetB = in.objetB; + gr.print = in.print; + final List lA = in.listObjectA; + final List lB = in.listObjectB; + if (lA.size() != lB.size()) { throw new IllegalArgumentException("taille différente"); } + final int taille = lA.size(); + for (int i = 0; i < taille; i++) { + final Object oa = lA.get(i); + final Object ob = lB.get(i); + JXPathContext xPath = JXPathContext.newContext(oa); + final List selectNodesA = xPath.selectNodes(requete.getRequest()); + xPath = JXPathContext.newContext(ob); + final List selectNodesB = xPath.selectNodes(requete.getRequest()); + final ComparaisonNodeFinal newCompar = new ComparaisonNodeFinal(); + newCompar.listObjectA = selectNodesA; + newCompar.listObjectB = selectNodesB; + newCompar.parent = gr; + newCompar.objetA = oa; + newCompar.objetB = ob; + newCompar.print = requete.getPrint(); + res.add(newCompar); + gr.fils.add(newCompar); + } + + } +} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTester.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTester.java 2009-07-02 22:20:25 UTC (rev 4900) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTester.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -1,19 +0,0 @@ -package org.fudaa.dodico.crue.comparaison; - -/** - * @author denf01a - * @creation 16 juin 2009 - * @version - * @param <T> l'objet a tester - */ -public interface EqualsTester<T> { - - /** - * @param o1 - * @param o2 - * @param res FIXME - * @return true si les 2 objets sont les mêmes - */ - boolean isSame(T o1, T o2, ComparaisonResult res); - -} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArray.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArray.java 2009-07-02 22:20:25 UTC (rev 4900) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArray.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -1,44 +0,0 @@ -package org.fudaa.dodico.crue.comparaison; - -import java.lang.reflect.Array; -import java.util.ArrayList; -import java.util.Collection; - -/** - * @author denf01a - * @creation 22 juin 2009 - * @version - */ -public class EqualsTesterArray extends AbstractEqualsTester<Object> { - - EqualsTesterCollection tester; - - /** - * @param objTester le tester - */ - public EqualsTesterArray(final FactoryEqualsTester factory, final String propName) { - this.tester = new EqualsTesterCollection(factory, propName); - } - - @Override - public boolean isSameSafe(final Object o1, final Object o2, final ComparaisonResult res) { - final int length = Array.getLength(o1); - if (length != Array.getLength(o2)) { - if (res != null) { - res.addFils(new ComparaisonResult(length, Array.getLength(o2), "comparaison.collection.size")); - } - return false; - } - return tester.isSame(toCollection(o1, length), toCollection(o2, length), res); - - } - - private Collection toCollection(final Object array, final int length) { - final Collection res = new ArrayList(length); - for (int i = 0; i < length; i++) { - res.add(Array.get(array, i)); - } - return res; - } - -} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayDouble.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayDouble.java 2009-07-02 22:20:25 UTC (rev 4900) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayDouble.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -1,46 +0,0 @@ -package org.fudaa.dodico.crue.comparaison; - - -/** - * @author denf01a - * @creation 22 juin 2009 - * @version - */ -public class EqualsTesterArrayDouble extends AbstractEqualsTester<double[]> { - - private final EqualsTesterDouble objTester; - - /** - * @param objTester le tester - */ - public EqualsTesterArrayDouble(final EqualsTesterDouble objTester) { - super(); - this.objTester = objTester; - } - - @Override - public boolean isSameSafe(final double[] o1, final double[] o2, final ComparaisonResult res) { - final int length = o1.length; - if (length != o2.length) { - if (res != null) { - res.addFils(new ComparaisonResult(length, o2.length, "comparaison.collection.size")); - } - return false; - } - for (int idx = 0; idx < length; idx++) { - if (!objTester.isSameDouble(o1[idx], o2[idx])) { - // TODO améliorer le tout pour avoir plus de res. - if (res != null) { - res.addFils(new ComparaisonResult(o1[idx], o2[idx], "comparaison.collection.item", idx)); - } - return false; - - } - - } - - return true; - - } - -} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayFloat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayFloat.java 2009-07-02 22:20:25 UTC (rev 4900) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayFloat.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -1,45 +0,0 @@ -package org.fudaa.dodico.crue.comparaison; - -/** - * @author denf01a - * @creation 22 juin 2009 - * @version - */ -public class EqualsTesterArrayFloat extends AbstractEqualsTester<float[]> { - - private final EqualsTesterDouble objTester; - - /** - * @param objTester le tester - */ - public EqualsTesterArrayFloat(final EqualsTesterDouble objTester) { - super(); - this.objTester = objTester; - } - - @Override - public boolean isSameSafe(final float[] o1, final float[] o2, final ComparaisonResult res) { - final int length = o1.length; - if (length != o2.length) { - if (res != null) { - res.addFils(new ComparaisonResult(length, o2.length, "comparaison.collection.size")); - } - return false; - } - for (int idx = 0; idx < length; idx++) { - if (!objTester.isSameDouble(o1[idx], o2[idx])) { - // TODO améliorer le tout pour avoir plus de res. - if (res != null) { - res.addFils(new ComparaisonResult(o1[idx], o2[idx], "comparaison.collection.item", idx)); - } - return false; - - } - - } - - return true; - - } - -} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayInteger.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayInteger.java 2009-07-02 22:20:25 UTC (rev 4900) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayInteger.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -1,43 +0,0 @@ -package org.fudaa.dodico.crue.comparaison; - -/** - * @author denf01a - * @creation 22 juin 2009 - * @version - */ -public class EqualsTesterArrayInteger extends AbstractEqualsTester<int[]> { - - private final EqualsTesterInteger objTester; - - /** - * @param objTester le tester - */ - public EqualsTesterArrayInteger(final EqualsTesterInteger objTester) { - super(); - this.objTester = objTester; - } - - @Override - public boolean isSameSafe(final int[] o1, final int[] o2, final ComparaisonResult res) { - final int length = o1.length; - if (length != o2.length) { - if (res != null) { - res.addFils(new ComparaisonResult(length, o2.length, "comparaison.collection.size")); - } - return false; - } - for (int idx = 0; idx < length; idx++) { - final boolean isSame = objTester == null ? (o1[idx] == o2[idx]) : (objTester.isSameInteger(o1[idx], o2[idx])); - if (!isSame) { - // TODO améliorer le tout pour avoir plus de res. - if (res != null) { - res.addFils(new ComparaisonResult(o1[idx], o2[idx], "comparaison.collection.item", idx)); - } - return false; - - } - - } - return true; - } -} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayLong.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayLong.java 2009-07-02 22:20:25 UTC (rev 4900) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterArrayLong.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -1,45 +0,0 @@ -package org.fudaa.dodico.crue.comparaison; - -/** - * @author denf01a - * @creation 22 juin 2009 - * @version - */ -public class EqualsTesterArrayLong extends AbstractEqualsTester<long[]> { - - private final EqualsTesterLong objTester; - - /** - * @param objTester le tester - */ - public EqualsTesterArrayLong(final EqualsTesterLong objTester) { - super(); - this.objTester = objTester; - } - - @Override - public boolean isSameSafe(final long[] o1, final long[] o2, final ComparaisonResult res) { - final int length = o1.length; - if (length != o2.length) { - if (res != null) { - res.addFils(new ComparaisonResult(length, o2.length, "comparaison.collection.size")); - } - return false; - } - for (int idx = 0; idx < length; idx++) { - final boolean isSame = objTester == null ? (o1[idx] == o2[idx]) : (objTester.isSameLong(o1[idx], o2[idx])); - if (!isSame) { - // TODO améliorer le tout pour avoir plus de res. - if (res != null) { - res.addFils(new ComparaisonResult(o1[idx], o2[idx], "comparaison.collection.item", idx)); - } - return false; - - } - - } - return true; - - } - -} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterBean.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterBean.java 2009-07-02 22:20:25 UTC (rev 4900) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterBean.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -1,92 +0,0 @@ -package org.fudaa.dodico.crue.comparaison; - -import java.beans.PropertyDescriptor; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashSet; - -import org.apache.commons.beanutils.PropertyUtils; -import org.apache.commons.collections.CollectionUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author denf01a - * @creation 22 juin 2009 - * @version - */ -public class EqualsTesterBean extends AbstractEqualsTester<Object> { - - Collection<String> propToIgnore = new HashSet<String>(Arrays.asList("class")); - - Collection<String> propToCompare; - - public Collection<String> getPropToCompare() { - return propToCompare; - } - - public void setPropToCompare(final Collection<String> propToCompare) { - this.propToCompare = propToCompare; - } - - private final FactoryEqualsTester factory; - - /** - * @param factory la factory - */ - public EqualsTesterBean(FactoryEqualsTester factory) { - super(); - this.factory = factory; - } - - private final static Logger LOGGER = LoggerFactory.getLogger(EqualsTesterBean.class); - - @Override - public boolean isSameSafe(final Object o1, final Object o2, final ComparaisonResult res) { - final PropertyDescriptor[] propertyDescriptors = PropertyUtils.getPropertyDescriptors(o1); - for (int i = 0; i < propertyDescriptors.length; i++) { - final PropertyDescriptor descriptor = propertyDescriptors[i]; - final String name = descriptor.getName(); - if (propToIgnore != null && propToIgnore.contains(name)) { - continue; - } - if (CollectionUtils.isEmpty(propToCompare) || propToCompare.contains(name)) { - try { - final Object a = PropertyUtils.getProperty(o1, name); - final Object b = PropertyUtils.getProperty(o2, name); - if (!compareProp(o1, res, name, a, b)) { return false; } - - } catch (final Exception e) { - LOGGER.warn("error.comparaison", e); - } - } - } - return true; - } - - private boolean compareProp(final Object o1, final ComparaisonResult res, final String name, final Object a, - final Object b) { - if (a == null) { - if (b != null) { - addDiff(res, a, b); - return false; - } - - } else { - final EqualsTester tester = factory.buildTesterFor(o1.getClass(), a.getClass(), name); - final boolean resB = tester.isSame(a, b, null); - if (!resB) { - addDiff(res, a, b); - return false; - } - } - return true; - } - - private void addDiff(final ComparaisonResult res, final Object a, final Object b) { - if (res != null) { - res.addFils(new ComparaisonResult(a, b, "compare.property.diff")); - } - } - -} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterCollection.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterCollection.java 2009-07-02 22:20:25 UTC (rev 4900) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/EqualsTesterCollection.java 2009-07-05 22:35:48 UTC (rev 4901) @@ -1,66 +0,0 @@ -package org.fudaa.dodico.crue.comparaison; - -import java.util.Collection; -import java.util.Iterator; - -/** - * @author denf01a - * @creation 22 juin 2009 - * @version - */ -public class EqualsTesterCollection extends AbstractEqualsTester<Collection> { - - private final FactoryEqualsTester factory; - private final String propName; - - public EqualsTesterCollection(final FactoryEqualsTester factory, final String propName) { - super(); - this.factory = factory; - this.propName = propName; - } - - @Override - public boolean isSameSafe(final Collection o1, final Collection o2, final ComparaisonResult res) { - if (o1.size() != o2.size()) { - if (res != null) { - res.addFils(new ComparaisonResult(o1.size(), o2.size(), "comparaison.collection.size")); - } - return false; - } - if (o1.size() == 0) { return true; } - final Iterator it1 = o1.iterator(); - final Iterator it2 = o2.iterator(); - int idx = 0; - EqualsTester tester = null; - while (it1.hasNext()) { - idx++; - final Object obj1 = it1.next(); - final Object obj2 = it2.next(); - if (obj1 != obj2) { - if (obj1 == null) { - ... [truncated message content] |
From: <de...@us...> - 2009-07-15 20:52:54
|
Revision: 4910 http://fudaa.svn.sourceforge.net/fudaa/?rev=4910&view=rev Author: deniger Date: 2009-07-15 20:52:41 +0000 (Wed, 15 Jul 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/AbstractTemplateEqualsTesterDouble.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterInteger.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterIsIncludeCollection.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterLong.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/FactoryEqualsTester.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/CrueDaoDCSP.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueHelper.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/CrueIODico.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/FCBSequentialReader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRReader.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/FactoryEMH.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DefaultValues.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue10.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue9.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/validation/NumberRangeValidator.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/PropertyValidator.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/PropertyValidatorsBuilder.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateEMHProperties.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/frag-dcsp-1.0.0.xsd trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDCSPFile.java trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3.dcsp.xml trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueEditorImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueNumberUtils.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtCasierProfil.java trunk/soft/fudaa-crue/dodico/src/test/resources/Modele3.dc trunk/soft/fudaa-crue/dodico/src/test/resources/exportModele3.dc trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueExportCtuluFileChooserTest.java Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/NumberUtils.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/TempValidationFichierScenario.java Copied: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueNumberUtils.java (from rev 4905, trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/NumberUtils.java) =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueNumberUtils.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueNumberUtils.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -0,0 +1,59 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.common; + +import org.fudaa.ctulu.CtuluLib; + +/** + * @author deniger + */ +public final class CrueNumberUtils { + + /** + * L'infini sur les EMH + */ + public final static double INFINI = 1E30; + /** + * La valeur de l'infini a utiliser pour les tests. + */ + public final static double INFINI_FOR_TEST = 1E29; + + private CrueNumberUtils() { + + } + + /** + * @param d le double a tester + * @return true si superieur a +{@link #INFINI} ou inferieur à -{@link #INFINI} + */ + public static boolean isInfini(final double d) { + return isInfiniPositif(d) || isInfiniNegatif(d); + } + + /** + * @param d le double a tester + * @return true si pas infini + */ + public static boolean isNotInfini(final double d) { + return !isInfini(d); + } + + /** + * @param d d le double a tester + * @return true si superieur ou egal a +{@link #INFINI} + */ + public static boolean isInfiniPositif(final double d) { + return d >= INFINI_FOR_TEST || CtuluLib.isEquals(d, INFINI_FOR_TEST); + } + + /** + * @param d d le double a tester + * @return true si inferieur ou egal à -{@link #INFINI} + */ + public static boolean isInfiniNegatif(final double d) { + return d <= -INFINI_FOR_TEST || CtuluLib.isEquals(d, -INFINI_FOR_TEST); + } + +} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/NumberUtils.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/NumberUtils.java 2009-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/NumberUtils.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -1,55 +0,0 @@ -/** - * Licence GPL - * Copyright Genesis - */ -package org.fudaa.dodico.crue.common; - -import org.fudaa.ctulu.CtuluLib; - -/** - * @author deniger - */ -public final class NumberUtils { - - /** - * L'infini sur les EMH - */ - public final static double INFINI = 1E30; - - private NumberUtils() { - - } - - /** - * @param d le double a tester - * @return true si superieur a +{@link #INFINI} ou inferieur à -{@link #INFINI} - */ - public static boolean isInfini(final double d) { - return isInfiniPositif(d) || isInfiniNegatif(d); - } - - /** - * @param d le double a tester - * @return true si pas infini - */ - public static boolean isNotInfini(final double d) { - return !isInfini(d); - } - - /** - * @param d d le double a tester - * @return true si superieur ou egal a +{@link #INFINI} - */ - public static boolean isInfiniPositif(final double d) { - return d >= INFINI || CtuluLib.isEquals(d, INFINI); - } - - /** - * @param d d le double a tester - * @return true si inferieur ou egal à -{@link #INFINI} - */ - public static boolean isInfiniNegatif(final double d) { - return d <= -INFINI || CtuluLib.isEquals(d, -INFINI); - } - -} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/AbstractTemplateEqualsTesterDouble.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/AbstractTemplateEqualsTesterDouble.java 2009-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/AbstractTemplateEqualsTesterDouble.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -1,6 +1,6 @@ package org.fudaa.dodico.crue.comparaison.tester; -import org.fudaa.dodico.crue.common.NumberUtils; +import org.fudaa.dodico.crue.common.CrueNumberUtils; /** * un template pour comparer des long. @@ -40,8 +40,8 @@ */ public boolean isSameDouble(final double d1, final double d2) { // le cas des infini: - if (NumberUtils.isInfiniPositif(d1) && NumberUtils.isInfiniPositif(d2)) { return true; } - if (NumberUtils.isInfiniNegatif(d1) && NumberUtils.isInfiniNegatif(d2)) { return true; } + if (CrueNumberUtils.isInfiniPositif(d1) && CrueNumberUtils.isInfiniPositif(d2)) { return true; } + if (CrueNumberUtils.isInfiniNegatif(d1) && CrueNumberUtils.isInfiniNegatif(d2)) { return true; } if (eps > 0) { return Math.abs(d1 - d2) <= eps; } return d1 == d2; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterInteger.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterInteger.java 2009-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterInteger.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -1,6 +1,6 @@ package org.fudaa.dodico.crue.comparaison.tester; -import org.fudaa.dodico.crue.common.NumberUtils; +import org.fudaa.dodico.crue.common.CrueNumberUtils; /** * @author denf01a @@ -36,8 +36,8 @@ * @return true si egaux a eps pres. */ public boolean isSameInteger(final int d1, final int d2) { - if (NumberUtils.isInfiniPositif(d1) && NumberUtils.isInfiniPositif(d2)) { return true; } - if (NumberUtils.isInfiniNegatif(d1) && NumberUtils.isInfiniNegatif(d2)) { return true; } + if (CrueNumberUtils.isInfiniPositif(d1) && CrueNumberUtils.isInfiniPositif(d2)) { return true; } + if (CrueNumberUtils.isInfiniNegatif(d1) && CrueNumberUtils.isInfiniNegatif(d2)) { return true; } if (eps > 0) { return Math.abs(d1 - d2) < eps; } return d1 == d2; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterIsIncludeCollection.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterIsIncludeCollection.java 2009-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterIsIncludeCollection.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -63,9 +63,11 @@ // } // return false; // } - String[] prop = StringUtils.split(propName, ","); + final String[] prop = StringUtils.split(propName, ","); final Set propInA = ConvertSelectOnItemMerge.getSet(o1, prop); + propInA.remove(null); final Set propInB = ConvertSelectOnItemMerge.getSet(o2, prop); + propInB.remove(null); boolean resFinal = true; Collection subtract = CollectionUtils.subtract(propInA, propInB); if (CollectionUtils.isNotEmpty(subtract)) { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterLong.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterLong.java 2009-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterLong.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -1,6 +1,6 @@ package org.fudaa.dodico.crue.comparaison.tester; -import org.fudaa.dodico.crue.common.NumberUtils; +import org.fudaa.dodico.crue.common.CrueNumberUtils; /** * @author denf01a @@ -36,8 +36,8 @@ * @return true si egaux a eps pres. */ public boolean isSameLong(final long d1, final long d2) { - if (NumberUtils.isInfiniPositif(d1) && NumberUtils.isInfiniPositif(d2)) { return true; } - if (NumberUtils.isInfiniNegatif(d1) && NumberUtils.isInfiniNegatif(d2)) { return true; } + if (CrueNumberUtils.isInfiniPositif(d1) && CrueNumberUtils.isInfiniPositif(d2)) { return true; } + if (CrueNumberUtils.isInfiniNegatif(d1) && CrueNumberUtils.isInfiniNegatif(d2)) { return true; } if (eps > 0) { return Math.abs(d1 - d2) < eps; } return d1 == d2; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/FactoryEqualsTester.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/FactoryEqualsTester.java 2009-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/comparaison/tester/FactoryEqualsTester.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -93,7 +93,7 @@ * @return le tester demande. Ne renvoie jamais null. */ public EqualsTester buildTesterFor(final Class parentClass, final Class propClass, final String prop) { - EqualsTester res = knownTester.get(propClass); + EqualsTester res = getKnownEqualsTester(propClass); if (res != null) { return res; } res = getCollectionTester(parentClass, propClass, prop); if (res != null) { return res; } @@ -104,4 +104,12 @@ // return BuilderEqualsTesterItem.BASIC_OBJECT_TESTER; } + + /** + * @param propClass LoiDF,LoiFF,String et PtProfil + * @return le tester d'egalité associe + */ + public EqualsTester getKnownEqualsTester(final Class propClass) { + return knownTester.get(propClass); + } } 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-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDCSP.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -7,9 +7,9 @@ import org.apache.commons.collections.CollectionUtils; import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.dodico.crue.io.common.CrueData; -import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.*; import org.fudaa.dodico.crue.metier.emh.*; +import org.fudaa.dodico.crue.metier.helper.EMHHelper; /** * Factory qui se charge de remplir les structures DAO du ficheir DCSP avec les donn�es m�tier et inversement. @@ -29,46 +29,85 @@ // -- remplissage des branches --// daoToMetierBranche(dao.DonCalcSansPrtBranches, dataLinked, analyser); + daoToMetierCasier(dao.DonCalcSansPrtCasiers, dataLinked, analyser); // -- remplissage des sections --// // CrueConverterDCSP.daoToMetierSection(dao.Sections, listeEMHDRSO, analyser); return dataLinked; } - public CrueData getConverterData(CrueData in) { + /** + * @param donCalcSansPrtCasiers + * @param dataLinked + * @param analyser + */ + private void daoToMetierCasier(final List<DaoCasier> donCalcSansPrtCasiers, final CrueData dataLinked, + final CtuluAnalyze analyser) { + if (CollectionUtils.isEmpty(donCalcSansPrtCasiers)) { return; } + for (final DaoCasier daoCasier : donCalcSansPrtCasiers) { + final CatEMHCasier casier = dataLinked.findCasierByReference(daoCasier.NomRef); + if (casier == null) { + analyser.addInfo("io.global.cantFindCasier.error", daoCasier.NomRef); + } + final DonCalcSansPrtCasierProfil dcsp = new DonCalcSansPrtCasierProfil(); + dcsp.setCoefRuis(daoCasier.CoefRuis); + casier.addInfosEMH(dcsp); + } + + } + + public CrueData getConverterData(final CrueData in) { return in; } public CrueDaoDCSP convertMetierToDao(final CrueData data, final CtuluAnalyze analyser) { final CrueDaoDCSP res = new CrueDaoDCSP(); - res.Sections = new ArrayList<SectionBrancheAbstract>(); - res.DonCalcSansPrtBranches = new ArrayList<DaoBrancheAbstract>(); - List<EMH> metier = data.getAllSimpleEMH(); + // res.Sections = new ArrayList<SectionBrancheAbstract>(); - if (CollectionUtils.isEmpty(metier)) { - CrueHelper.emhEmpty(CrueFileType.DCSP, analyser); - } else { - for (final EMH emh : metier) { - if (emh instanceof CatEMHBranche) { - // -- remplissage des sections de branches --// - final CatEMHBranche branche = (CatEMHBranche) emh; + convertMetierToDaoBranche(data, analyser, res); + convertMetierToDaoCasier(data, analyser, res); + return res; + } - final List<DonCalcSansPrt> listeDoncalc = branche.getDCSP(); - if (listeDoncalc != null) { - for (final DonCalcSansPrt dataCalc : listeDoncalc) { - if (dataCalc != null) { - CrueConverterDCSP.metierToDaoBranches(res.DonCalcSansPrtBranches, branche, dataCalc, analyser); - } else { - CrueHelper.unknowdataFromFile("Branches", branche.getNom(), analyser); - } + private void convertMetierToDaoBranche(final CrueData data, final CtuluAnalyze analyser, final CrueDaoDCSP res) { + res.DonCalcSansPrtBranches = new ArrayList<DaoBrancheAbstract>(); + final List<CatEMHBranche> metier = data.getBranches(); + if (CollectionUtils.isNotEmpty(metier)) { + for (final CatEMHBranche branche : metier) { + final List<DonCalcSansPrt> listeDoncalc = branche.getDCSP(); + if (listeDoncalc != null) { + for (final DonCalcSansPrt dataCalc : listeDoncalc) { + if (dataCalc != null) { + CrueConverterDCSP.metierToDaoBranches(res.DonCalcSansPrtBranches, branche, dataCalc, analyser); + } else { + CrueHelper.unknowdataFromFile("Branches", branche.getNom(), analyser); } } + } + } + } + } + private void convertMetierToDaoCasier(final CrueData data, final CtuluAnalyze analyser, final CrueDaoDCSP res) { + res.DonCalcSansPrtCasiers = new ArrayList<DaoCasier>(); + final List<CatEMHCasier> casiers = data.getCasiers(); + if (CollectionUtils.isNotEmpty(casiers)) { + for (final CatEMHCasier casier : casiers) { + final List<DonCalcSansPrtCasierProfil> listeDoncalc = EMHHelper.selectClass(casier.getDCSP(), + DonCalcSansPrtCasierProfil.class); + if (CollectionUtils.isNotEmpty(listeDoncalc)) { + if (listeDoncalc.size() > 1) { + analyser.addFatalError("dcsp.tooMuchDonForCasier", casier.getNom()); + } else { + final DonCalcSansPrtCasierProfil pr = listeDoncalc.get(0); + final DaoCasier daoCasier = new DaoCasier(); + daoCasier.NomRef = casier.getNom(); + daoCasier.CoefRuis = pr.getCoefRuis(); + res.DonCalcSansPrtCasiers.add(daoCasier); + } } - } } - return res; } /** Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoDCSP.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoDCSP.java 2009-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoDCSP.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -3,7 +3,7 @@ import java.util.List; import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoBrancheAbstract; -import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.SectionBrancheAbstract; +import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDCSP.DaoCasier; /** * Classe persistante qui reprend la meme structure que le fichier xml DSCP - Fichier des donn�es de calcul (xml) A @@ -21,6 +21,5 @@ /** * La liste des sections */ - protected List<SectionBrancheAbstract> Sections; - + protected List<DaoCasier> DonCalcSansPrtCasiers; } \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java 2009-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueDaoStructureDCSP.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -16,13 +16,15 @@ @SuppressWarnings("PMD.VariableNamingConventions") public class CrueDaoStructureDCSP implements CrueDaoStructure { - public void configureXStream(final XStream xstream, CtuluAnalyze analyze) { + public void configureXStream(final XStream xstream, final CtuluAnalyze analyze) { // -- creation des alias pour que ce soit + parlant dans le xml file --// xstream.alias(CrueFileType.DCSP.toString(), CrueDaoDCSP.class); // -- liste des initialisations nécessaires pour le formattage des donn�es--// initXmlParserBranche(xstream); - initXmlParserSection(xstream); initXmlParserSeuils(xstream); + + xstream.alias("DonCalcSansPrtCasierProfil", DaoCasier.class); + xstream.useAttributeFor(DaoCasier.class, "NomRef"); // les enums: xstream.registerConverter(EnumsConverter.createEnumConverter(EnumFormulePdc.class, analyze)); xstream.registerConverter(EnumsConverter.createEnumConverter(EnumSensOrifice.class, analyze)); @@ -55,34 +57,15 @@ xstream.alias("RegimeNoye", DaoRegimeNoye.class); AbstractDaoLoi.configureXstream(xstream); xstream.omitField(AbstractDaoLoi.class, "DateZeroLoiDF"); - // xstream.omitField(AbstractDaoLoi.class, "Nom"); - // les enum. } - /** - * Init le parser avec les infos des sections. - * - * @param xstream - */ - protected static void initXmlParserSection(final XStream xstream) { - // -- gestion des sections --// - xstream.alias("SectionIdem", DaoSectionIdem.class); - xstream.alias("SectionSansGeometrie", DaoSectionSansGeometrie.class); - xstream.alias("SectionProfil", DaoSectionProfil.class); - xstream.alias("SectionInterpolee", DaoSectionInterpolee.class); - xstream.alias("SectionPilote", DaoSectionPilote.class); - - xstream.useAttributeFor(SectionBrancheAbstract.class, "NomRef"); - } - protected static void initXmlParserSeuils(final XStream xstream) { xstream.alias("ElemSeuilAvecPdc", DaoElemAvecSeuilPdc.class); xstream.alias("ElemOrifice", DaoElemSeuilOrifice.class); xstream.alias("ElemSeuil", DaoElemSeuil.class); xstream.addImplicitCollection(DaoBrancheSeuilAbstract.class, "ElemSeuils"); xstream.addImplicitCollection(DaoBrancheBarrageFilEauAbstract.class, "ElemSeuils"); - // xstream.addImplicitCollection(DaoBrancheSeuilOrificeAbstract.class, "ElemOrifices"); } @@ -99,6 +82,12 @@ protected DaoPdc Pdc; } + protected static class DaoCasier { + protected String NomRef; + protected double CoefRuis; + + } + protected static class DaoBrancheClassiqueAbstract extends DaoBrancheAbstract { protected double CoefBeta; @@ -196,27 +185,4 @@ protected DaoZasso Zasso; } - /** - * Elementsection qui se trouve dans branche, dispose d'une reference positionnee dans la balise de d�but. - * - * @author Adrien Hadoux Pos: position. - */ - protected static class SectionBrancheAbstract { - protected String NomRef; - protected double CoefPond; - protected double CoefConv; - protected double CoefDiv; - - } - - protected static class DaoSectionIdem extends SectionBrancheAbstract {} - - protected static class DaoSectionInterpolee extends SectionBrancheAbstract {} - - protected static class DaoSectionProfil extends SectionBrancheAbstract {} - - protected static class DaoSectionSansGeometrie extends SectionBrancheAbstract {} - - protected static class DaoSectionPilote extends SectionBrancheAbstract {} - } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueHelper.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueHelper.java 2009-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueHelper.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -6,8 +6,12 @@ import org.apache.commons.collections.CollectionUtils; import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluLib; +import org.fudaa.dodico.crue.comparaison.FactoryEqualsTesterSingleton; +import org.fudaa.dodico.crue.comparaison.tester.EqualsTester; import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.metier.emh.PtProfil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Plusieurs m�thodes et classes communes utilis�es pour les factory. @@ -39,22 +43,61 @@ return CtuluLib.isEquals(a.getYp(), b.getYp()) && CtuluLib.isEquals(a.getZ(), b.getZ()); } + private final static Logger LOGGER = LoggerFactory.getLogger(CrueHelper.class); + /** + * @param pt le point recherche + * @param listPt la liste a parcourir + * @return l'indice du PtProfil egal a epsilon pres + */ + public static int getEqualsPtProfil(final PtProfil pt, final List<PtProfil> listPt) { + if (pt == null || CollectionUtils.isEmpty(listPt)) { return -1; } + final EqualsTester knownEqualsTester = FactoryEqualsTesterSingleton.INSTANCE.getKnownEqualsTester(PtProfil.class); + final int nb = listPt.size(); + for (int i = 0; i < nb; i++) { + try { + if (knownEqualsTester.isSame(pt, listPt.get(i), null, null)) { return i; } + } catch (final Exception e) { + LOGGER.error("getEqualsPtProfil", e); + } + + } + return -1; + } + + /** * @param pt le point de base - * @param listPt la liste de point a parcourir dans laquelle on va recherche le point le plus pres + * @param listPt la liste de point a parcourir dans laquelle on va recherche le point le plus pres. + * @return le plus petit indice du point le plus près + */ + public static int getMinNearestPtProfilEnY(final PtProfil pt, final List<PtProfil> listPt) { + return getNearestPtProfilEnY(pt, listPt, true); + } + + /** + * @param pt le point de base + * @param listPt la liste de point a parcourir dans laquelle on va recherche le point le plus pres. + * @return le plus grand indice du point le plus pres + */ + public static int getMaxNearestPtProfilEnY(final PtProfil pt, final List<PtProfil> listPt) { + return getNearestPtProfilEnY(pt, listPt, false); + } + + /** + * @param pt le point de base + * @param listPt la liste de point a parcourir dans laquelle on va recherche le point le plus pres. + * @param min true si on veut récupérer le point le plus près d'indice min * @return -1 si un des 2 argument est null ou si liste vide. l'indice sinon */ - public static int getNearestPtProfilEnY(final PtProfil pt, final List<PtProfil> listPt) { + public static int getNearestPtProfilEnY(final PtProfil pt, final List<PtProfil> listPt, final boolean min) { if (pt == null || CollectionUtils.isEmpty(listPt)) { return -1; } int res = 0; final int size = listPt.size(); double minDistanceFound = -1; for (int i = 0; i < size; i++) { final PtProfil ptInList = listPt.get(i); - // si egale on le renvoie de suite - if (CtuluLib.isEquals(ptInList.getYp(), pt.getYp())) { return i; } final double distance = Math.abs(ptInList.getYp() - pt.getYp()); - if (minDistanceFound < 0 || distance < minDistanceFound) { + if (minDistanceFound < 0 || (min ? (distance < minDistanceFound) : (distance <= minDistanceFound))) { res = i; minDistanceFound = distance; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java 2009-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -67,22 +67,27 @@ * @param data * @throws IOException */ - public void writeHeader(final CrueIOResu<CrueData> data) throws IOException { + public void writeHeader(final CrueIOResu<CrueData> data, boolean writeTitre) throws IOException { writeCom(""); String commentaire = data.getCrueCommentaire(); if (StringUtils.isBlank(commentaire)) { commentaire = "Generé par FUDAA le " + DateFormat.getInstance().format(new Date(System.currentTimeMillis())); } - String[] titles = StringUtils.split(commentaire, '|'); + final String[] titles = StringUtils.split(commentaire, '|'); for (int i = 0; i < Math.min(NB_LINES_TITLE, titles.length); i++) { - fortranWriter.stringField(0, titles[i]); + if (writeTitre) { + fortranWriter.stringField(0, CrueIODico.TITRE); + fortranWriter.stringField(1, titles[i]); + } else { + fortranWriter.stringField(0, titles[i]); + } fortranWriter.writeFields(); } /** * onécrit nblignes-1 de titre. */ for (int i = titles.length; i < NB_LINES_TITLE; i++) { - fortranWriter.stringField(0, StringUtils.EMPTY); + fortranWriter.stringField(0, writeTitre ? CrueIODico.TITRE : StringUtils.EMPTY); fortranWriter.writeFields(); } @@ -106,14 +111,14 @@ protected void writeCarteValeur(final String carte, final double val1, final double val2) throws IOException { fortranWriter.stringField(0, carte); - fortranWriter.doubleField(1, val1); - fortranWriter.doubleField(2, val2); + fortranWriter.stringField(1, CrueIODico.getCrue9Value(val1)); + fortranWriter.stringField(2, CrueIODico.getCrue9Value(val2)); fortranWriter.writeFields(); } protected void writeCarteValeur(final String carte, final double val) throws IOException { fortranWriter.stringField(0, carte); - fortranWriter.doubleField(1, val); + fortranWriter.stringField(1, CrueIODico.getCrue9Value(val)); fortranWriter.writeFields(); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/CrueIODico.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/CrueIODico.java 2009-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/CrueIODico.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -4,6 +4,7 @@ import java.util.Set; import org.fudaa.ctulu.CtuluLib; +import org.fudaa.dodico.crue.common.CrueNumberUtils; /** * Dictionnaire des CARTES des fichiers Crue9. Y sont déclarés les variables de type d'élément, le nombre de champs.... @@ -123,11 +124,29 @@ protected static Set<String> CARTE_DH = new HashSet<String>(); - protected boolean isCourantInfini(double val) { + public static boolean isCrue9PlusInfini(double val) { return val >= 99999 || CtuluLib.isEquals(99999, val); + } + public static boolean isCrue9MoinsInfini(double val) { + return val <= -99999 || CtuluLib.isEquals(-99999, val); } + public final static String CRUE9_INFINI = "99999."; + public final static String CRUE9_MOINS_INFINI = "-99999."; + + public static double getCrue10Value(double v) { + if (isCrue9PlusInfini(v)) { return CrueNumberUtils.INFINI; } + if (isCrue9MoinsInfini(v)) { return -CrueNumberUtils.INFINI; } + return v; + } + + public static String getCrue9Value(double v) { + if (CrueNumberUtils.isInfiniPositif(v)) { return CRUE9_INFINI; } + if (CrueNumberUtils.isInfiniNegatif(v)) { return CRUE9_MOINS_INFINI; } + return Double.toString(v); + } + /** * Les cartes associées à la branche. */ @@ -233,14 +252,7 @@ * @return */ protected static boolean appartientReglesCarte(final String element) { - if (element == null) { return false; } - final String elt = element.toUpperCase(); - boolean ok = false; - for (final String carte : cartesRegles) { - ok = ok || elt.contains(carte); - } - return ok; - + return cartesRegles.contains(element.toUpperCase()); } /** Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -12,6 +12,7 @@ import com.thoughtworks.xstream.converters.SingleValueConverter; import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.dodico.crue.common.CrueNumberUtils; import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.io.common.CrueDataImpl; import org.fudaa.dodico.crue.io.common.CrueIOResu; @@ -23,7 +24,7 @@ import org.fudaa.dodico.crue.validation.CruePrefix; /** - * Reader pour le format DC crue 9 + * Reader pour le format DC crue 9. * * @author Adrien Hadoux */ @@ -190,17 +191,19 @@ if (cpt < listeLimiteX.size()) { final double abscisseArraprocher = listeLimiteX.get(cpt); - PtProfil limDeb = null; - double delta = Math.abs(abscisseArraprocher - listeProfils.get(0).getYp()); - // -- il faut trouver le point qui se rapproche le + de cet abscisse dans al liste de profils --// - for (final PtProfil pt : listeProfils) { - final double nd = Math.abs(abscisseArraprocher - pt.getYp()); - if (nd <= delta) { - delta = nd; - limDeb = pt; - } - - } + final int limDebIdx = CrueHelper.getNearestPtProfilEnY(new PtProfil(abscisseArraprocher, 0), listeProfils, + litPrecedent == null); + final PtProfil limDeb = limDebIdx >= 0 ? listeProfils.get(limDebIdx) : null; + // double delta = Math.abs(abscisseArraprocher - listeProfils.get(0).getYp()); + // // -- il faut trouver le point qui se rapproche le + de cet abscisse dans al liste de profils --// + // for (final PtProfil pt : listeProfils) { + // final double nd = Math.abs(abscisseArraprocher - pt.getYp()); + // if (nd <= delta) { + // delta = nd; + // limDeb = pt; + // } + // + // } if (limDeb != null) { lit.setLimDeb(limDeb); if (litPrecedent != null) { @@ -1276,13 +1279,13 @@ // -- donnee DPTI --// // ex: RUIS 0.000000 final double qruis = in_.doubleField(1); - final DonPrtCIniCasierProfil dataDPTI = new DonPrtCIniCasierProfil(); + final DonCalcSansPrtCasierProfil dataDPTGQRuis = new DonCalcSansPrtCasierProfil(); // dataDPTI.setQruis(qruis); - dataDPTI.setQruis(qruis); + dataDPTGQRuis.setCoefRuis(qruis); // if (emh.getInfosEMH() == null) { // emh.setListeInfosEMH(new ArrayList<InfosEMH>()); // } - newCasier.addInfosEMH(dataDPTI); + newCasier.addInfosEMH(dataDPTGQRuis); } else if (element.toUpperCase().equals(CrueIODico.SBATI)) { // TODO attendre les retours CNR pour cette donnee. @@ -2036,43 +2039,51 @@ final OrdPrtGeoModeleBase reglesOPTG = new OrdPrtGeoModeleBase(); // -- ajout des données métier dans le cruedata --// metier.setPretraitementsGeom(reglesOPTG); - while (CrueIODico.appartientReglesCarte(in_.getLine())) { + while (CrueIODico.appartientReglesCarte(in_.stringField(0))) { Regle regle = null; // -- analyse du premier element de la ligne pour gerer la bonne lecture --// final String element = in_.stringField(0); + if (in_.getNumberOfFields() > 1 && "NON".equals(in_.stringField(1))) { + continue; + } final String upperCase = element.toUpperCase(); if (upperCase.equals(CrueIODico.ZREF)) { // TODO GERER ZREF COMME DONNEE PNUM // Ce paramètre numérique, de valeur par défaut 0.0 m, correspond à une altitude que l’utilisateur peut donner // s’il veut modifier la référence altimétrique dans les calculs.Dans Crue10, il est positionné dans PNUM. createParamNum(metier); - metier.getParamNumModeleBase().setZref(in_.doubleField(1)); + metier.getParamNumModeleBase().setZref(CrueIODico.getCrue10Value(in_.doubleField(1))); } else if (upperCase.equals(CrueIODico.COEFF)) { createParamNum(metier); if (metier.getParamNumModeleBase().getParamNumCalcTrans() == null) { metier.getParamNumModeleBase().setParamNumCalcTrans(new ParamNumCalcTrans()); } - metier.getParamNumModeleBase().getParamNumCalcTrans().setThetaPreissmann(in_.doubleField(2)); + metier.getParamNumModeleBase().getParamNumCalcTrans().setThetaPreissmann( + CrueIODico.getCrue10Value(in_.doubleField(2))); } else if (upperCase.equals(CrueIODico.R_SLARGE)) { regle = new Regle(EnumRegle.LARG_SEUIL); regle.setActive(true); - regle.setSeuilDetect(in_.doubleField(1)); + regle.setSeuilDetect(CrueIODico.getCrue10Value(in_.doubleField(1))); } else if (upperCase.equals(CrueIODico.R_PRPLAT)) { regle = new Regle(EnumRegle.PROF_PLAT); regle.setActive(true); - regle.setSeuilDetect(in_.doubleField(1) / 100); + final double crue10Val = CrueIODico.getCrue10Value(in_.doubleField(1)); + if (CrueNumberUtils.isInfiniPositif(crue10Val)) { + regle.setSeuilDetect(crue10Val); + } else { + regle.setSeuilDetect(crue10Val / 100); + } } else if (upperCase.equals(CrueIODico.R_RUPENT)) { regle = new Regle(EnumRegle.PENTE_RUPTURE); regle.setActive(true); - final double val = in_.doubleField(1); - regle.setSeuilDetect(val); + regle.setSeuilDetect(CrueIODico.getCrue10Value(in_.doubleField(1))); } else if (upperCase.equals(CrueIODico.R_DECAL)) { regle = new Regle(EnumRegle.DECAL); regle.setActive(true); - regle.setSeuilDetect(in_.doubleField(1)); + regle.setSeuilDetect(CrueIODico.getCrue10Value(in_.doubleField(1))); } else if (upperCase.equals(CrueIODico.R_REBDEB)) { regle = new Regle(EnumRegle.REB_DEB); @@ -2086,7 +2097,7 @@ } else if (upperCase.equals(CrueIODico.TOL_Z_INIT)) { regle = new Regle(EnumRegle.TOL_ND_Z); regle.setActive(true); - regle.setSeuilDetect(in_.doubleField(1)); + regle.setSeuilDetect(CrueIODico.getCrue10Value(in_.doubleField(1))); } else if (upperCase.equals(CrueIODico.R_VDXMAX)) { regle = new Regle(EnumRegle.VAR_PDX_MAX); regle.setActive(true); @@ -2095,7 +2106,12 @@ } else if (upperCase.equals(CrueIODico.R_PENMAX)) { regle = new Regle(EnumRegle.PENTE_MAX); regle.setActive(true); - regle.setSeuilDetect(in_.doubleField(1) / 100); + final double crue10Val = CrueIODico.getCrue10Value(in_.doubleField(1)); + if (CrueNumberUtils.isInfiniPositif(crue10Val)) { + regle.setSeuilDetect(crue10Val); + } else { + regle.setSeuilDetect(crue10Val / 100); + } } else { analyze_.addErrorFromFile(CrueNotSupportedException.MSG_CARTE_TYPE_UNKNOWN, in_.getLineNumber()); @@ -2118,6 +2134,38 @@ } } + /** + * Lit l'header du fichier fortran. 5 lignes de titre Commun a DC et DH. + * + * @throws IOException + */ + @Override + public void readHeader(final CrueIOResu<CrueData> res) throws IOException { + + final StringBuilder comm = new StringBuilder(420); + boolean done = false; + boolean readSuite = true; + for (int i = 0; i < AbstractCrue9Reader.NB_LINES_TITLE; i++) { + final String readAndAvoidLabel = readAndAvoidLabel(in_); + if (readAndAvoidLabel.startsWith(CrueIODico.TITRE)) { + if (!done) { + done = true; + comm.append('|'); + } + comm.append(in_.stringField(1)); + } else { + readSuite = false; + break; + } + } + res.setCrueCommentaire(comm.toString()); + if (readSuite) { + // -- on lit la suite --// + lireSuite(); + } + + } + public void stop() {} } 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-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -52,7 +52,7 @@ try { // cf DParametresSipor.java // -- on commence par l'écriture des titres sur 5 lignes --// - writeHeader((CrueIOResu<CrueData>) o); + writeHeader((CrueIOResu<CrueData>) o, true); // -- on ecrit les regles --// writeRules(data); @@ -145,12 +145,13 @@ // -- regles PNUM --// if (metier.getParamNumModeleBase() != null) { fortranWriter.stringField(0, CrueIODico.ZREF); - fortranWriter.doubleField(1, metier.getParamNumModeleBase().getZref()); + fortranWriter.stringField(1, CrueIODico.getCrue9Value(metier.getParamNumModeleBase().getZref())); fortranWriter.writeFields(); if (metier.getParamNumModeleBase().getParamNumCalcTrans() != null) { fortranWriter.stringField(0, CrueIODico.COEFF); fortranWriter.stringField(1, "1.0"); - fortranWriter.doubleField(2, metier.getParamNumModeleBase().getParamNumCalcTrans().getThetaPreissmann()); + fortranWriter.stringField(2, CrueIODico.getCrue9Value(metier.getParamNumModeleBase().getParamNumCalcTrans() + .getThetaPreissmann())); fortranWriter.writeFields(); } } @@ -343,23 +344,22 @@ fortranWriter.writeFields(); // -- donnees DPTI --// - if (casier.getDPTI() != null) { - for (final DonPrtCIni init : casier.getDPTI()) { - if (init instanceof DonPrtCIniCasierProfil) { - final DonPrtCIniCasierProfil dpti = (DonPrtCIniCasierProfil) init; - // ex RUIS 0.000000 + // -- liste des données DPTG --// + List<DonCalcSansPrt> dcsp = casier.getDCSP(); + if (CollectionUtils.isNotEmpty(dcsp)) { + for (DonCalcSansPrt geo : dcsp) { + if (geo instanceof DonCalcSansPrtCasierProfil) { fortranWriter.stringField(0, CrueIODico.RUIS); // fortranWriter_.doubleField(1, dpti.getQruis()); - // TODO a changer - fortranWriter.doubleField(1, dpti.getQruis()); + // écrit dans le DH + fortranWriter.doubleField(1, 1); fortranWriter.writeFields(); } } } - // -- liste des données DPTG --// - if (casier.getDPTG() != null) { - for (final DonPrtGeo geo : casier.getDPTG()) { - + List<DonPrtGeo> dptgList = casier.getDPTG(); + if (dptgList != null) { + for (final DonPrtGeo geo : dptgList) { if (geo instanceof DonPrtGeoProfilCasier) { final DonPrtGeoProfilCasier dptg = (DonPrtGeoProfilCasier) geo; // ex PROFCAS 100.00 @@ -372,10 +372,16 @@ final LitUtile lit = dptg.getLitUtile(); if (lit.getLimDeb() != null && lit.getLimFin() != null) { fortranWriter.stringField(0, CrueIODico.LIMITEJ); - fortranWriter - .intField(1, 1 + CrueHelper.getNearestPtProfilEnY(lit.getLimDeb(), dptg.getPtProfil())); - fortranWriter - .intField(2, 1 + CrueHelper.getNearestPtProfilEnY(lit.getLimFin(), dptg.getPtProfil())); + int equalsPtProfil = CrueHelper.getEqualsPtProfil(lit.getLimDeb(), dptg.getPtProfil()); + if (equalsPtProfil < 0) { + analyze_.addFatalError("dc.ptProfilLitUtilDeb.NotFound", casier.getNom()); + } + fortranWriter.intField(1, 1 + equalsPtProfil); + equalsPtProfil = CrueHelper.getEqualsPtProfil(lit.getLimFin(), dptg.getPtProfil()); + if (equalsPtProfil < 0) { + analyze_.addFatalError("dc.ptProfilLitUtilFin.NotFound", casier.getNom()); + } + fortranWriter.intField(2, 1 + equalsPtProfil); fortranWriter.writeFields(); } @@ -443,8 +449,9 @@ int indiceLitFortran = 1; if (CollectionUtils.isNotEmpty(dptg.getLitNumerote())) { int lastIdx = -1; + int idxLit = 0; for (final LitNumerote lit : dptg.getLitNumerote()) { - + idxLit++; // -- les FROTTEMENTS STRIC --// if (lit.getFrot() != null) { listeFrottements.add(lit.getFrot()); @@ -454,8 +461,14 @@ listeLitsActifs.add(indiceLitFortran); } // -- positions deb et fin limJ --// - int positionLimDeb = CrueHelper.getNearestPtProfilEnY(lit.getLimDeb(), dptg.getPtProfil()); - int positionLimFin = CrueHelper.getNearestPtProfilEnY(lit.getLimFin(), dptg.getPtProfil()); + final int positionLimDeb = CrueHelper.getEqualsPtProfil(lit.getLimDeb(), dptg.getPtProfil()); + final int positionLimFin = CrueHelper.getEqualsPtProfil(lit.getLimFin(), dptg.getPtProfil()); + if (positionLimDeb < 0) { + analyze_.addFatalError("dc.limDeb.NotFound", section.getNom(), idxLit); + } + if (positionLimFin < 0) { + analyze_.addFatalError("dc.limFin.NotFound", section.getNom(), idxLit); + } if (positionLimDeb != -1 && positionLimFin != -1) { final int debIdx = positionLimDeb + 1; if (lastIdx < 0) { @@ -619,7 +632,7 @@ private void writeCartesProfilsDISTANCE(final List<RelationEMHSectionDansBranche> list, final String carteProfilToUse, final boolean useDistance, final boolean useCPOND, final boolean useCDIV, final boolean useCCONV) throws IOException { - int size = list.size(); + final int size = list.size(); final List<Double> relationDistance = new ArrayList<Double>(size); final List<Double> relationCoefPond = new ArrayList<Double>(size); final List<Double> relationCoefdiv = new ArrayList<Double>(size); @@ -627,7 +640,7 @@ final List<String> relationNomProfils = new ArrayList<String>(size); double previousPositionSections = 0; for (int i = 0; i < size; i++) { - RelationEMHSectionDansBranche relation = list.get(i); + final RelationEMHSectionDansBranche relation = list.get(i); final double xp = relation.getXp(); // -- on calcul le delta distance car : dans Crue 10: ce sont les positions, dans Crue 9 ce sont les distance // inter sections. @@ -855,7 +868,7 @@ */ public void writeBrancheSaintVenant(final CrueData data, final EMHBrancheSaintVenant branche) throws IOException { // -- on s'occupe de créer les lignes distance et PROF pour chaque section profil existante: --// - List<RelationEMHSectionDansBranche> listeSections = branche.getListeSectionsSortedXP(); + final List<RelationEMHSectionDansBranche> listeSections = branche.getListeSectionsSortedXP(); writeCartesProfilsDISTANCE(listeSections, CrueIODico.BRANCHE_PROF, true, true, true, true); // WARNING DISTMAX pas a prendre en compte dans V0. @@ -888,12 +901,12 @@ // ex SINUO 600.0 500.0 (si LongMineur = 600 m et LongMajeur = 500 m) : final double coeff = geoStVenant.getCoefSinuo();// longMineur / longMajeur; - double max = listeSections.get(listeSections.size() - 1).getXp(); + final double max = listeSections.get(listeSections.size() - 1).getXp(); writeCom("Coeff SINUO DPTG CRUE 10: " + coeff - + ". Calcul sur une base longMajeur de la longueur de la branche"); - final double longMineur = max * coeff; - final double longMajeur = max; + + ". Ce coef vaut 'longeur Lit Mineur/Longueur Lit Majeur' avec Longueur Mineur= longueur branche"); + final double longMineur = max; + final double longMajeur = max / coeff; fortranWriter.stringField(0, CrueIODico.BRANCHE_SINUO); fortranWriter.doubleField(1, longMineur); fortranWriter.doubleField(2, longMajeur); @@ -1012,7 +1025,6 @@ // -- ecriture des seuils si il y a --// // ex: SEUIL 50.000 86.600 1.000 if (dcspSeuil.getElemSeuilAvecPdc() != null) { - for (final ElemSeuilAvecPdc seuil : dcspSeuil.getElemSeuilAvecPdc()) { fortranWriter.stringField(0, CrueIODico.BRANCHE_SEUIL); fortranWriter.doubleField(1, seuil.getLargeur()); @@ -1099,11 +1111,6 @@ final ElemOrifice orifice = dcsp.getElemOrifice(); if (orifice != null) { // for (final ElemOrifice orifice : dcsp.getElement()) { - // BRANCHE_CCTRMAX - // pour l'instant on fait pas. - // fortranWriter_.stringField(0, CrueIODico.BRANCHE_CCTRMAX); - // fortranWriter_.doubleField(1, orifice.getCoefCtrLim()); - // fortranWriter_.writeFields(); // CLAPET fortranWriter.stringField(0, CrueIODico.BRANCHE_CLAPET); @@ -1116,6 +1123,10 @@ final String sens = enumSensOrificeMapCrue9.toString(orifice.getSens()); fortranWriter.stringField(5, sens); fortranWriter.writeFields(); + // BRANCHE_CCTRMAX + fortranWriter.stringField(0, CrueIODico.BRANCHE_CCTRMAX); + fortranWriter.doubleField(1, orifice.getCoefCtrLim()); + fortranWriter.writeFields(); } // } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2009-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -504,16 +504,16 @@ analyze_.addWarn("io.dh.ref.emhnoeud.coefRuis.noCasier.error", noeudName); } else { - final List<DonPrtCIniCasierProfil> dptis = EMHHelper.selectClass(casier.getInfosEMH(), - DonPrtCIniCasierProfil.class); + final List<DonCalcSansPrtCasierProfil> dptis = EMHHelper.selectClass(casier.getInfosEMH(), + DonCalcSansPrtCasierProfil.class); if (CollectionUtils.isEmpty(dptis)) { // TODO trop bizarre ! pas un coef ! - final DonPrtCIniCasierProfil cini = new DonPrtCIniCasierProfil(); - cini.setQruis(coefRuis); - noeud.addInfosEMH(new DonPrtCIniNoeudNiveauContinu()); + final DonCalcSansPrtCasierProfil cini = new DonCalcSansPrtCasierProfil(); + cini.setCoefRuis(0);// d'apres la doc; + noeud.addInfosEMH(cini); } - for (final DonPrtCIniCasierProfil condInit : dptis) { - condInit.setQruis(coefRuis); + for (final DonCalcSansPrtCasierProfil condInit : dptis) { + condInit.setCoefRuis(condInit.getCoefRuis() * coefRuis); } } } @@ -1546,7 +1546,7 @@ final CompositeReader reader = new CompositeReader(in_); // on lit les 5 lignes de titre // Lecture ligne A - final StringBuilder comm = new StringBuilder(); + final StringBuilder comm = new StringBuilder(420); for (int i = 0; i < NB_LINES_TITLE; i++) { if (i > 0) { comm.append('|'); @@ -1616,31 +1616,8 @@ // DCSP s'il n'en existe aucun pour la branche if (cofqrq > 0) { dhContainsRuis = true; - final List<EMHBrancheSaintVenant> branches = crueData.getBranchesSaintVenant(); - for (final EMHBrancheSaintVenant branche : branches) { - final List<DonCalcSansPrtBrancheSaintVenant> dcsps = EMHHelper.selectClass(branche.getDCSP(), - DonCalcSansPrtBrancheSaintVenant.class); - if (CollectionUtils.isEmpty(dcsps)) { - final DonCalcSansPrtBrancheSaintVenant newInfosEMH = new DonCalcSansPrtBrancheSaintVenant(); - newInfosEMH.setCoefRuisQdm(cru); - // newInfosEMH.setCoefRuis(cofqrq);// TODO il faut mettre 0 non - newInfosEMH.setCoefRuis(0);// TODO il faut mettre 0 non initialise dans DC... - branche.addInfosEMH(newInfosEMH); - } else { - final int dcspsSize = dcsps.size(); - if (dcspsSize > 1) { - LOGGER.error("Trop de DonCalcSansPrtBrancheSaintVenant definit par " + branche.getNom()); - } - for (int j = 0; j < dcspsSize; j++) { - final DonCalcSansPrt dcsp = dcsps.get(j); - if (dcsp instanceof DonCalcSansPrtBrancheSaintVenant) { - final DonCalcSansPrtBrancheSaintVenant brancheSVDCSP = (DonCalcSansPrtBrancheSaintVenant) dcsp; - brancheSVDCSP.setCoefRuisQdm(cru); - brancheSVDCSP.setCoefRuis(cofqrq * brancheSVDCSP.getCoefRuis()); - } - } - } - } + initialiseRuisInBranche(cofqrq, crueData); + initialiseRuisInCasier(cofqrq, crueData); } // Enregistrement de isorti dans PCAL @@ -1674,6 +1651,54 @@ } } + 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(), + DonCalcSansPrtBrancheSaintVenant.class); + if (CollectionUtils.isEmpty(dcsps)) { + final DonCalcSansPrtBrancheSaintVenant newInfosEMH = new DonCalcSansPrtBrancheSaintVenant(); + newInfosEMH.setCoefRuisQdm(cru); + // newInfosEMH.setCoefRuis(cofqrq);// TODO il faut mettre 0 non + newInfosEMH.setCoefRuis(0);// TODO il faut mettre 0 non initialise dans DC... + branche.addInfosEMH(newInfosEMH); + } else { + final int dcspsSize = dcsps.size(); + if (dcspsSize > 1) { + LOGGER.error("Trop de DonCalcSansPrtBrancheSaintVenant definit par " + branche.getNom()); + } + for (int j = 0; j < dcspsSize; j++) { + final DonCalcSansPrtBrancheSaintVenant dcsp = dcsps.get(j); + dcsp.setCoefRuisQdm(cru); + dcsp.setCoefRuis(cofqrq * dcsp.getCoefRuis()); + } + } + } + } + + 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(), + DonCalcSansPrtCasierProfil.class); + if (CollectionUtils.isEmpty(dcsps)) { + final DonCalcSansPrtCasierProfil newInfosEMH = new DonCalcSansPrtCasierProfil(); + // 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(); + if (dcspsSize > 1) { + LOGGER.error("Trop de DonCalcSansPrtCasierProfil definit par " + casier.getNom()); + } + for (int j = 0; j < dcspsSize; j++) { + final DonCalcSansPrtCasierProfil dcsp = dcsps.get(j); + dcsp.setCoefRuis(cofqrq * dcsp.getCoefRuis()); + } + } + } + } + private CrueData readRegles(final CrueIOResu<CrueData> res, final CompositeReader reader) throws IOException { String carte = reader.stringField(0); // c'est une carte connue @@ -1682,12 +1707,12 @@ while (CrueIODico.CARTE_DH.contains(carte)) { // la carte DH_R_REBDEB est ignoree if (carte.equals(CrueIODico.DH_COEFF_RELAX_DQ)) { - getParamNumCalcPseudoPerm(metier).setCoefRelaxQ(reader.doubleField(1)); + getParamNumCalcPseudoPerm(metier).setCoefRelaxQ(CrueIODico.getCrue10Value(reader.doubleField(1))); } else if (carte.equals(CrueIODico.DH_COEFF_RELAX_DZ)) { - getParamNumCalcPseudoPerm(metier).setCoefRelaxZ(reader.doubleField(1)); + getParamNumCalcPseudoPerm(metier).setCoefRelaxZ(CrueIODico.getCrue10Value(reader.doubleField(1))); } else if (carte.equals(CrueIODico.DH_NB_COURANT_MAX)) { if (reader.getNumberOfFields() > 1) { - final double val = reader.doubleField(1); + final double val = CrueIODico.getCrue10Value(reader.doubleField(1)); // la premiere valeur fait pour les 2 getParamNumCalcPseudoPerm(metier).setCrMaxFlu(val); getParamNumCalcPseudoPerm(metier).setCrMaxTor(val); @@ -1695,16 +1720,16 @@ getParamNumCalcTrans(metier).setCrMaxTor(val); } if (reader.getNumberOfFields() > 2) { - final double val = reader.doubleField(2); + final double val = CrueIODico.getCrue10Value(reader.doubleField(2)); getParamNumCalcPseudoPerm(metier).setCrMaxTor(val); getParamNumCalcTrans(metier).setCrMaxTor(val); } } else if (carte.equals(CrueIODico.DH_SEUIL_FROUDE)) { if (reader.getNumberOfFields() > 1) { - getParamNumModeleBase(metier).setFrLinInf(reader.doubleField(1)); + getParamNumModeleBase(metier).setFrLinInf(CrueIODico.getCrue10Value(reader.doubleField(1))); } if (reader.getNumberOfFields() > 2) { - getParamNumModeleBase(metier).setFrLinSup(reader.doubleField(2)); + getParamNumModeleBase(metier).setFrLinSup(CrueIODico.getCrue10Value(reader.doubleField(2))); } } else if (carte.equals(CrueIODico.TOL_Z_INIT)) { OrdPrtGeoModeleBase optg = metier.getPretraitementsGeom(); @@ -1712,7 +1737,7 @@ optg = new OrdPrtGeoModeleBase(); metier.setPretraitementsGeom(optg); } - optg.addRegle(DefaultValues.createRegle(EnumRegle.TOL_ND_Z, reader.doubleField(1))); + optg.addRegle(DefaultValues.createRegle(EnumRegle.TOL_ND_Z, CrueIODico.getCrue10Value(reader.doubleField(1)))); } reader.readLine(); 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-07-15 13:42:25 UTC (rev 4909) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHWriter.java 2009-07-15 20:52:41 UTC (rev 4910) @@ -15,8 +15,8 @@ import org.fudaa.ctulu.CtuluActivity; import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.fileformat.FortranInterface; +import org.fudaa.dodico.crue.common.CrueNumberUtils; import org.fudaa.dodico.crue.common.DateDuration... [truncated message content] |
From: <de...@us...> - 2009-10-18 18:39:35
|
Revision: 5388 http://fudaa.svn.sourceforge.net/fudaa/?rev=5388&view=rev Author: deniger Date: 2009-10-18 18:39:21 +0000 (Sun, 18 Oct 2009) Log Message: ----------- Modified Paths: -------------- 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/metier/FactoryEMH.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/EMHGeneralBuilder.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.dc trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.dh 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-10-18 18:24:49 UTC (rev 5387) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-10-18 18:39:21 UTC (rev 5388) @@ -156,7 +156,7 @@ final List<Double> listeLimiteX, final List<Integer> listeLitsActifs, final DonPrtGeoProfilSectionFenteData fente) { // -- on associe les objets crées entre eux pour creer un DPTG--// final DonPrtGeoProfilSection dataDPTG = new DonPrtGeoProfilSection(); - dataDPTG.setNom(sectionProfil.getNom()); + dataDPTG.setNom(CruePrefix.changePrefix(sectionProfil.getNom(), CruePrefix.P_SECTION, CruePrefix.P_PROFIL_SECTION)); dataDPTG.setFente(fente); // --Il faut préfixer la section profil par un s car le profil et la section partagent le meme nom dans l'algo.--// // sectionProfil.setNom(sectionProfil.getNom()); @@ -1288,10 +1288,10 @@ newCasier.addInfosEMH(dataDPTGQRuis); } else if (element.toUpperCase().equals(CrueIODico.SBATI)) { - // TODO attendre les retours CNR pour cette donnee. - - throw new CrueNotSupportedException(element, in_.getLineNumber()); - + final DonPrtGeoBatiCasier batiCasier = FactoryEMH.createDonPrtGeoBatiCasier(newCasier); + batiCasier.setSplanBati(in_.doubleField(1)); + batiCasier.setZBatiTotal(in_.doubleField(2)); + newCasier.addInfosEMH(batiCasier); } else if (element.toUpperCase().equals(CrueIODico.PROFCAS)) { // -- on finalise l'ancienne DPTG si on tombe sur une nouvelle --// 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-10-18 18:24:49 UTC (rev 5387) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java 2009-10-18 18:39:21 UTC (rev 5388) @@ -15,6 +15,7 @@ import org.fudaa.dodico.crue.io.common.EnumsConverter; import org.fudaa.dodico.crue.io.dao.CrueHelper; import org.fudaa.dodico.crue.metier.emh.*; +import org.fudaa.dodico.crue.metier.helper.EMHHelper; import org.fudaa.dodico.crue.metier.helper.LoiHelper; /** @@ -395,7 +396,17 @@ } } + DonPrtGeoBatiCasier batiCasier = EMHHelper.getFirstOfClass(dptgList, DonPrtGeoBatiCasier.class); + if (batiCasier != null) { + fortranWriter.stringField(0, CrueIODico.SBATI); + // batiCasier.setSplanBati(in_.doubleField(1)); + // batiCasier.setZBatiTotal(in_.doubleField(2)); + fortranWriter.doubleField(1, batiCasier.getSplanBati()); + fortranWriter.doubleField(2, batiCasier.getZBatiTotal()); + fortranWriter.writeFields(); + } + } } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FactoryEMH.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FactoryEMH.java 2009-10-18 18:24:49 UTC (rev 5387) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FactoryEMH.java 2009-10-18 18:39:21 UTC (rev 5388) @@ -107,9 +107,11 @@ if (distmax < 10) { fmt = FMT_DISTMAX_FAIBLE; } - final EMHSectionInterpolee interpol = new EMHSectionInterpolee(CruePrefix.P_SECTION + brancheNom + "_" - + fmt.format(xpos)); - // interpol.setNom(CruePrefix.P_PROFIL_SECTION + getBrancheNomWithoutPrefix(brancheNom) + "_" + fmt.format(xpos)); + final EMHSectionInterpolee interpol = new EMHSectionInterpolee(CruePrefix.changePrefix(brancheNom, + CruePrefix.P_BRANCHE, CruePrefix.P_SECTION) + + "_" + fmt.format(xpos)); + // interpol.setNom(CruePrefix.P_PROFIL_SECTION + + // getBrancheNomWithoutPrefix(brancheNom) + "_" + fmt.format(xpos)); return interpol; } @@ -125,6 +127,17 @@ return dataDPTG; } + /** + * @param casier le casier a traiter + * @param pos la position du profil dans le casier + * @return le DonPrtGeoProfilCasier produit + */ + public static DonPrtGeoBatiCasier createDonPrtGeoBatiCasier(final CatEMHCasier casier) { + final DonPrtGeoBatiCasier dataDPTG = new DonPrtGeoBatiCasier(); + dataDPTG.setNom(CruePrefix.changePrefix(casier.getNom(), CruePrefix.P_CASIER, CruePrefix.P_BATI_CASIER)); + return dataDPTG; + } + // public static String createNomWithSuff(final String profilSection, final double suff) { // // final int nbToAdd = Math.max(1, CruePrefix.NB_CAR_MAX - profilSection.length()); // final String nom = profilSection + new CtuluNumberFormatFixedFigure(nbToAdd).format(suff); Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java 2009-10-18 18:24:49 UTC (rev 5387) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java 2009-10-18 18:39:21 UTC (rev 5388) @@ -2,6 +2,7 @@ import java.io.File; import java.io.IOException; +import java.net.MalformedURLException; import java.net.URL; import java.util.List; @@ -10,9 +11,12 @@ import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.io.common.CrueIOResu; import org.fudaa.dodico.crue.io.common.IOMessages; +import org.fudaa.dodico.crue.metier.emh.CatEMHCasier; import org.fudaa.dodico.crue.metier.emh.DonFrt; +import org.fudaa.dodico.crue.metier.emh.DonPrtGeoBatiCasier; import org.fudaa.dodico.crue.metier.emh.EMHSectionIdem; import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; +import org.fudaa.dodico.crue.metier.helper.EMHHelper; import org.fudaa.dodico.crue.validation.CruePrefix; /** @@ -23,155 +27,114 @@ @SuppressWarnings("PMD.SystemPrintln") public class TestCrueDC extends AbstractTestCase { + protected static final String EXEMPLE_CUSTOM = "/fichierTest/exempleDCbrancheOnly.dc"; + protected static final String FICHIER_TEST_MODELE3_1_DC = "/fichierTest/Modele3-1.dc"; + protected static final String FICHIER_TEST_MODELE3_2_DC = "/fichierTest/Modele3-2.dc"; public static final String FICHIER_TEST_MODELE3_DC = "/fichierTest/Modele3.dc"; + public static final String FICHIER_TEST_MODELE34_DC = "/fichierTest/Modele3-4.dc"; + public static final String FICHIER_TEST_MODELE4_DC = "/fichierTest/Modele4.dc"; public static final String FICHIER_TEST_MODELE5_DC = "/fichierTest/Modele5.dc"; public static final String FICHIER_TEST_MODELE6_DC = "/fichierTest/Modele6.dc"; public static final String FICHIER_TEST_MODELE7_DC = "/fichierTest/Modele7.dc"; - protected static final String FICHIER_TEST_MODELE3_1_DC = "/fichierTest/Modele3-1.dc"; - protected static final String FICHIER_TEST_MODELE3_2_DC = "/fichierTest/Modele3-2.dc"; - protected static final String EXEMPLE_CUSTOM = "/fichierTest/exempleDCbrancheOnly.dc"; - /** - * + * @param _args */ - public TestCrueDC() { - // super(Crue9FileFormatFactory.getDCFileFormat(), FICHIER_TEST_MODELE3_DC_XML); + public static void main(final String[] _args) { + final TestCrueDC test = new TestCrueDC(); + test.testLectureEcritureCRUE9Modele5(); } /** - * lit un fichier fabriqué avec quelques objets branches. - * + * @param analyzer * @param path - * @return cruedata. + * @return CrueData */ - public CrueData testLectureFichierDC(final String path) { - final CtuluAnalyze analyzer = new CtuluAnalyze(IOMessages.RESOURCE_BUNDLE); - final CrueData data = readModeleCrue9(analyzer, path); - testAnalyser(analyzer); - testData(data); - return data; - } + public static CrueData readModeleCrue9(final CtuluAnalyze analyzer, final String path) { + // TODO attention cela ne fonctionnera pas en mode jar ! + return readModeleCrue9(analyzer, TestCrueDC.class.getResource(path)); - /** - * Test de lecture du modele 3 complet. - */ - public void testLectureModele3() { - CrueData testLectureFichierDC = testLectureFichierDC(FICHIER_TEST_MODELE3_DC); - testAnalyser(CruePrefix.verifiePrefixeNomDonneesCrue9(testLectureFichierDC)); } - /** - * Test de lecture du modele 4 complet. - */ - public void testLectureModele4() { - testLectureFichierDC(FICHIER_TEST_MODELE3_DC); - } + public static CrueData readModeleCrue9(final CtuluAnalyze analyzer, final URL url) { - /** - * Test de lecture du modele 5 complet. - */ - public void testLectureModele5() { - testLectureFichierDC(FICHIER_TEST_MODELE5_DC); - } + final CrueIOResu<CrueData> data = Crue9FileFormatFactory.getDCFileFormat().read(url, analyzer, null); + analyzer.printResume(); + return data.getMetier(); - /** - * Test de lecture du modele 6 complet. - */ - public void testLectureModele6() { - testLectureFichierDC(FICHIER_TEST_MODELE6_DC); } /** - * Test de lecture du modele 3-1 complet. + * @param analyzer + * @param f + * @param data */ - public void testLectureModele3_1() { - testLectureFichierDC(FICHIER_TEST_MODELE3_1_DC); - } + public static void writeModeleCrue9(final CtuluAnalyze analyzer, final File f, final CrueData data) { - /** - * Test de lecture du modele 3-2 complet. - */ - public void testLectureModele3_2() { - testLectureFichierDC(FICHIER_TEST_MODELE3_2_DC); - } + Crue9FileFormatFactory.getDCFileFormat().write(data, f, analyzer); + analyzer.printResume(); - /** - * - */ - public void testLectureCrue9EcritureCrue10Modele3() { - testLectureFichierCrue9etEcritureCrue10(FICHIER_TEST_MODELE3_DC); } /** * */ - public void testLectureCrue9EcritureCrue10Modele4() { - testLectureFichierCrue9etEcritureCrue10(FICHIER_TEST_MODELE4_DC); + public TestCrueDC() { + // super(Crue9FileFormatFactory.getDCFileFormat(), FICHIER_TEST_MODELE3_DC_XML); } - /** - * - */ - public void testLectureCrue9EcritureCrue10Modele5() { - testLectureFichierCrue9etEcritureCrue10(FICHIER_TEST_MODELE5_DC); - } + @Override + protected File createTempFile() { + File res = null; + try { + res = File.createTempFile("tmp", ".xml"); - /** - * - */ - public void testLectureCrue9EcritureCrue10Modele3_1() { - testLectureFichierCrue9etEcritureCrue10(FICHIER_TEST_MODELE3_1_DC); + } catch (final IOException e) { + fail(e.getMessage()); + } + return res; } - /** - * - */ - public void testLectureCrue9EcritureCrue10Modele3_2() { - testLectureFichierCrue9etEcritureCrue10(FICHIER_TEST_MODELE3_2_DC); + protected File createTemptxtFile(final String titre) { + File res = null; + try { + res = File.createTempFile(titre + "tmpDC", ".txt"); + + } catch (final IOException e) { + fail(e.getMessage()); + } + return res; } - /** - * - */ - public void testLectureCrue9EcritureCrue10ExempleCustom() { - testLectureFichierCrue9etEcritureCrue10(EXEMPLE_CUSTOM); + private void testBatiCasier(final CrueData data) { + assertNotNull(data); + CruePrefix.verifiePrefixeNomDonneesCrue9(data); + CatEMHCasier findCasierByReference = data.findCasierByReference("Ca_N6"); + assertNotNull(findCasierByReference); + DonPrtGeoBatiCasier bati = EMHHelper + .getFirstOfClass(findCasierByReference.getInfosEMH(), DonPrtGeoBatiCasier.class); + assertDoubleEquals(5000, bati.getSplanBati()); + assertDoubleEquals(0.35, bati.getZBatiTotal()); } - /** - * Lit en crue 9 et écrit en crue 10. - * - * @param path - */ - public void testLectureFichierCrue9etEcritureCrue10(final String path) { + public void testCrue9Modele34() { final CtuluAnalyze analyzer = new CtuluAnalyze(IOMessages.RESOURCE_BUNDLE); + final CrueData data = readModeleCrue9(analyzer, FICHIER_TEST_MODELE34_DC); + testBatiCasier(data); + File file = createTempFile(); + writeModeleCrue9(analyzer, file, data); + super.testAnalyser(analyzer); + try { + testBatiCasier(readModeleCrue9(analyzer, file.toURL())); + } catch (MalformedURLException e) { + fail(e.getMessage()); + } - final CrueData data = readModeleCrue9(analyzer, path); + } - final File fichierEcritureDRRSO = createTempFile(); - // -- ecriture DRSO --// - Crue10FileFormatFactory.getInstance().getDRSO().write(data, fichierEcritureDRRSO, analyzer); - - // -- ecriture DCSP --// - final File fichierEcritureDCSP = createTempFile(); - Crue10FileFormatFactory.getInstance().getDCSP().write(data, fichierEcritureDCSP, analyzer); - - // -- ecriture des DFRT--// - final File fichierEcritureDFRT = createTempFile(); - Crue10FileFormatFactory.getInstance().getDFRT().write(data, fichierEcritureDFRT, analyzer); - - // -- ecriture des DPTG --// - final File fichierEcritureDPTG = createTempFile(); - Crue10FileFormatFactory.getInstance().getDPTG().write(data, fichierEcritureDPTG, analyzer); - - // -- ecriture des DPTI --// - final File fichierEcritureDPTI = createTempFile(); - Crue10FileFormatFactory.getInstance().getDPTI().write(data, fichierEcritureDPTI, analyzer); - - // AppCrueTest.ecrireErrorMsg(analyzer); - // testData(data); - + protected void testData(final CrueData data) { + assertNotNull(data); } /** @@ -202,39 +165,46 @@ } - protected void testData(final CrueData data) { - assertNotNull(data); + /** + * + */ + public void testLectureCrue9EcritureCrue10ExempleCustom() { + testLectureFichierCrue9etEcritureCrue10(EXEMPLE_CUSTOM); } /** - * @param analyzer - * @param path - * @return CrueData + * */ - public static CrueData readModeleCrue9(final CtuluAnalyze analyzer, final String path) { - // TODO attention cela ne fonctionnera pas en mode jar ! - return readModeleCrue9(analyzer, TestCrueDC.class.getResource(path)); + public void testLectureCrue9EcritureCrue10Modele3() { + testLectureFichierCrue9etEcritureCrue10(FICHIER_TEST_MODELE3_DC); + } + /** + * + */ + public void testLectureCrue9EcritureCrue10Modele3_1() { + testLectureFichierCrue9etEcritureCrue10(FICHIER_TEST_MODELE3_1_DC); } - public static CrueData readModeleCrue9(final CtuluAnalyze analyzer, final URL url) { + /** + * + */ + public void testLectureCrue9EcritureCrue10Modele3_2() { + testLectureFichierCrue9etEcritureCrue10(FICHIER_TEST_MODELE3_2_DC); + } - final CrueIOResu<CrueData> data = Crue9FileFormatFactory.getDCFileFormat().read(url, analyzer, null); - analyzer.printResume(); - return data.getMetier(); - + /** + * + */ + public void testLectureCrue9EcritureCrue10Modele4() { + testLectureFichierCrue9etEcritureCrue10(FICHIER_TEST_MODELE4_DC); } /** - * @param analyzer - * @param f - * @param data + * */ - public static void writeModeleCrue9(final CtuluAnalyze analyzer, final File f, final CrueData data) { - - Crue9FileFormatFactory.getDCFileFormat().write(data, f, analyzer); - analyzer.printResume(); - + public void testLectureCrue9EcritureCrue10Modele5() { + testLectureFichierCrue9etEcritureCrue10(FICHIER_TEST_MODELE5_DC); } /** @@ -285,33 +255,94 @@ } /** - * @param _args + * Lit en crue 9 et écrit en crue 10. + * + * @param path */ - public static void main(final String[] _args) { - final TestCrueDC test = new TestCrueDC(); - test.testLectureEcritureCRUE9Modele5(); + public void testLectureFichierCrue9etEcritureCrue10(final String path) { + final CtuluAnalyze analyzer = new CtuluAnalyze(IOMessages.RESOURCE_BUNDLE); + + final CrueData data = readModeleCrue9(analyzer, path); + + final File fichierEcritureDRRSO = createTempFile(); + // -- ecriture DRSO --// + Crue10FileFormatFactory.getInstance().getDRSO().write(data, fichierEcritureDRRSO, analyzer); + + // -- ecriture DCSP --// + final File fichierEcritureDCSP = createTempFile(); + Crue10FileFormatFactory.getInstance().getDCSP().write(data, fichierEcritureDCSP, analyzer); + + // -- ecriture des DFRT--// + final File fichierEcritureDFRT = createTempFile(); + Crue10FileFormatFactory.getInstance().getDFRT().write(data, fichierEcritureDFRT, analyzer); + + // -- ecriture des DPTG --// + final File fichierEcritureDPTG = createTempFile(); + Crue10FileFormatFactory.getInstance().getDPTG().write(data, fichierEcritureDPTG, analyzer); + + // -- ecriture des DPTI --// + final File fichierEcritureDPTI = createTempFile(); + Crue10FileFormatFactory.getInstance().getDPTI().write(data, fichierEcritureDPTI, analyzer); + + // AppCrueTest.ecrireErrorMsg(analyzer); + // testData(data); + } - @Override - protected File createTempFile() { - File res = null; - try { - res = File.createTempFile("tmp", ".xml"); + /** + * lit un fichier fabriqué avec quelques objets branches. + * + * @param path + * @return cruedata. + */ + public CrueData testLectureFichierDC(final String path) { + final CtuluAnalyze analyzer = new CtuluAnalyze(IOMessages.RESOURCE_BUNDLE); + final CrueData data = readModeleCrue9(analyzer, path); + testAnalyser(analyzer); + testData(data); + return data; + } - } catch (final IOException e) { - fail(e.getMessage()); - } - return res; + /** + * Test de lecture du modele 3 complet. + */ + public void testLectureModele3() { + CrueData testLectureFichierDC = testLectureFichierDC(FICHIER_TEST_MODELE3_DC); + testAnalyser(CruePrefix.verifiePrefixeNomDonneesCrue9(testLectureFichierDC)); } - protected File createTemptxtFile(final String titre) { - File res = null; - try { - res = File.createTempFile(titre + "tmpDC", ".txt"); + /** + * Test de lecture du modele 3-1 complet. + */ + public void testLectureModele3_1() { + testLectureFichierDC(FICHIER_TEST_MODELE3_1_DC); + } - } catch (final IOException e) { - fail(e.getMessage()); - } - return res; + /** + * Test de lecture du modele 3-2 complet. + */ + public void testLectureModele3_2() { + testLectureFichierDC(FICHIER_TEST_MODELE3_2_DC); } + + /** + * Test de lecture du modele 4 complet. + */ + public void testLectureModele4() { + testLectureFichierDC(FICHIER_TEST_MODELE3_DC); + } + + /** + * Test de lecture du modele 5 complet. + */ + public void testLectureModele5() { + testLectureFichierDC(FICHIER_TEST_MODELE5_DC); + } + + /** + * Test de lecture du modele 6 complet. + */ + public void testLectureModele6() { + testLectureFichierDC(FICHIER_TEST_MODELE6_DC); + } } Added: trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.dc =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.dc (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.dc 2009-10-18 18:39:21 UTC (rev 5388) @@ -0,0 +1,333 @@ +* Donn\xE9es g\xE9n\xE9rales +* -------------------------- +* 5 lignes de titre +TITRE CrueX - Structuration des donn\xE9es +TITRE +TITRE Mod\xE8le de test utilisant les \xE9l\xE9ments de mod\xE9lisation les plus courants +TITRE +TITRE PBa Jan09 sur la base de Modele2 +* +* Configuration des r\xE8gles +R_SLARGE 110. +* +* dal theta isorti +COEFF 1.00 0.75 +* +* +* D\xE9finition des branches +* -------------------------- +* +* Branche B1: Saint-Venant +BRANCHE B1 N1 N2 20 +DISTANCE 100.00 100.00 100.00 100.00 100.00 +PROF PROF11 PROF10 PROF9 PROF8 PROF7 +PROF PROF6A +DISTMAX 50. +* +* Branche B2: Saint-Venant +BRANCHE B2 N2 N3 20 +DISTANCE 100.00 100.00 100.00 +PROF PROF6B PROF5 PROF4 PROF3A +* +* Branche B3: Seuil transversal +BRANCHE B3 N3 N4 2 +BORDA 1. +* Larg Zseuil Cdebit Cpdc +SEUIL 20.00 0.60 0.900 +SEUIL 8.00 2.20 0.900 1.000 +* nom des profils amont et aval +PROF PROF3AM PROF3AV +* +* Branche B4: Saint-Venant +BRANCHE B4 N4 N5 20 +DISTANCE 100.00 100.00 +PROF PROF3B PROF2 PROF1 +* +* Branche B5: Seuil lateral +BRANCHE B5 N2 N6 4 +BORDA 1. +* Larg Zseuil Cdebit Cpdc +SEUIL 100.00 3.78 0.900 1.000 +SEUIL 100.00 3.82 0.900 +* +* Branche B6: Strickler +BRANCHE B6 N6 N7 6 +DISTANCE 400.00 +PROF PROFSTR1 PROFSTR2 +* +** Branche B7: Seuil lateral +*BRANCHE B7 N7 N5 4 +*BORDA 0. +** Larg Zseuil Cdebit Cpdc +*SEUIL 100.00 3.00 1.000 1.000 +* +* Branche B8: Orifice +BRANCHE B8 N7 N5 5 +CCTRMAX 0.65 +* Zrad Haut Larg Cdeb Sens +CLAPET 3.00 1.50 20.0 0.90 0 +* +* +* D\xE9finition des frottements +* -------------------------- +* +STRIREF K0 0 +* +* Branches Saint-Venant +STRIREFZ PROF11MIN 0.00 30. 11.00 30. +STRIREFZ PROF11MAJ 0.00 15. 10.00 15. +STRIREFZ PROF10MIN 0.00 30. 10.00 30. +STRIREFZ PROF10MAJ 0.00 15. 10.00 15. +STRIREFZ PROF9MIN 0.00 30. 10.00 30. +STRIREFZ PROF9MAJ 0.00 15. 10.00 15. +STRIREFZ PROF8MIN 0.00 30. 10.00 30. +STRIREFZ PROF8MAJ 0.00 15. 10.00 15. +STRIREFZ PROF7MIN 0.00 30. 10.00 30. +STRIREFZ PROF7MAJ 0.00 15. 10.00 15. +STRIREFZ PROF6AMIN 0.00 30. 10.00 30. +STRIREFZ PROF6AMAJ 0.00 15. 10.00 15. +STRIREFZ PROF6BMIN 0.00 30. 10.00 30. +STRIREFZ PROF6BMAJ 0.00 15. 10.00 15. +STRIREFZ PROF5MIN 0.00 30. 10.00 30. +STRIREFZ PROF5MAJ 0.00 15. 10.00 15. +STRIREFZ PROF4MIN 0.00 30. 10.00 30. +STRIREFZ PROF4MAJ 0.00 15. 10.00 15. +STRIREFZ PROF3AMIN 0.00 30. 10.00 30. +STRIREFZ PROF3AMAJ 0.00 15. 10.00 15. +STRIREFZ PROF3BMIN 0.00 30. 10.00 30. +STRIREFZ PROF3BMAJ 0.00 15. 10.00 15. +STRIREFZ PROF2MIN 0.00 30. 10.00 30. +STRIREFZ PROF2MAJ 0.00 15. 10.00 15. +STRIREFZ PROF1MIN 0.00 30. 10.00 30. +STRIREFZ PROF1MAJ 0.00 15. 10.00 15. +* +* Branches Strickler +STRIREFZ PROFSTR1MIN 0.00 30. 11.00 30. +STRIREFZ PROFSTR2MIN 0.00 30. 11.00 30. +* +* Branches seuil +STRIREFZ PROF3AMMIN 0.00 30. 10.00 30. +STRIREFZ PROF3AMMAJ 0.00 15. 10.00 15. +STRIREFZ PROF3AVMIN 0.00 30. 10.00 30. +STRIREFZ PROF3AVMAJ 0.00 15. 10.00 15. +* +* +* D\xE9finition des profils +* -------------------------- +* +* Profils Saint-Venant +PROFIL PROF11 +LIMITEJ 1 3 4 7 8 10 +STRIC K0 PROF11MAJ PROF11MIN PROF11MAJ K0 +X/Z 0.00 6.10 2.00 5.10 32.00 4.10 62.00 3.10 +X/Z 66.00 1.10 86.00 1.10 90.00 3.10 120.00 4.10 +X/Z 150.00 5.10 152.00 6.10 +ACTIF 2 3 4 +LIT MAJD 2 +LIT MINEUR 3 +LIT MAJG 4 +LIT STOCKAGE 1 5 +* +PROFIL PROF10 +LIMITEJ 1 3 4 7 8 10 +STRIC K0 PROF10MAJ PROF10MIN PROF10MAJ K0 +X/Z 0.00 6.00 2.00 5.00 32.00 4.00 62.00 3.00 +X/Z 66.00 1.00 86.00 1.00 90.00 3.00 120.00 4.00 +X/Z 150.00 5.00 152.00 6.00 +ACTIF 2 3 4 +LIT MAJD 2 +LIT MINEUR 3 +LIT MAJG 4 +LIT STOCKAGE 1 5 +* +PROFIL PROF9 +LIMITEJ 1 3 4 7 8 10 +STRIC K0 PROF9MAJ PROF9MIN PROF9MAJ K0 +X/Z 0.00 5.90 2.00 4.90 32.00 3.90 62.00 2.90 +X/Z 66.00 0.90 86.00 0.90 90.00 2.90 120.00 3.90 +X/Z 150.00 4.90 152.00 5.90 +ACTIF 2 3 4 +LIT MAJD 2 +LIT MINEUR 3 +LIT MAJG 4 +LIT STOCKAGE 1 5 +* +PROFIL PROF8 +LIMITEJ 1 3 4 7 8 10 +STRIC K0 PROF8MAJ PROF8MIN PROF8MAJ K0 +X/Z 0.00 5.80 2.00 4.80 32.00 3.80 62.00 2.80 +X/Z 66.00 0.80 86.00 0.80 90.00 2.80 120.00 3.80 +X/Z 150.00 4.80 152.00 5.80 +ACTIF 2 3 4 +LIT MAJD 2 +LIT MINEUR 3 +LIT MAJG 4 +LIT STOCKAGE 1 5 +* +PROFIL PROF7 +LIMITEJ 1 3 4 7 8 10 +STRIC K0 PROF7MAJ PROF7MIN PROF7MAJ K0 +X/Z 0.00 5.70 2.00 4.70 32.00 3.70 62.00 2.70 +X/Z 66.00 0.70 86.00 0.70 90.00 2.70 120.00 3.70 +X/Z 150.00 4.70 152.00 5.70 +ACTIF 2 3 4 +LIT MAJD 2 +LIT MINEUR 3 +LIT MAJG 4 +LIT STOCKAGE 1 5 +* +PROFIL PROF6A +LIMITEJ 1 3 4 7 8 10 +STRIC K0 PROF6AMAJ PROF6AMIN PROF6AMAJ K0 +X/Z 0.00 5.60 2.00 4.60 32.00 3.60 62.00 2.60 +X/Z 66.00 0.60 86.00 0.60 90.00 2.60 120.00 3.60 +X/Z 150.00 4.60 152.00 5.60 +ACTIF 2 3 4 +LIT MAJD 2 +LIT MINEUR 3 +LIT MAJG 4 +LIT STOCKAGE 1 5 +* +PROFIDEM PROF6B PROF6A 0. +*PROFIL PROF6B +*LIMITEJ 1 3 4 7 8 10 +*STRIC K0 PROF6BMAJ PROF6BMIN PROF6BMAJ K0 +*X/Z 0.00 5.60 2.00 4.60 32.00 3.60 62.00 2.60 +*X/Z 66.00 0.60 86.00 0.60 90.00 2.60 120.00 3.60 +*X/Z 150.00 4.60 152.00 5.60 +*ACTIF 2 3 4 +*LIT MAJD 2 +*LIT MINEUR 3 +*LIT MAJG 4 +*LIT STOCKAGE 1 5 +* +PROFINT PROF5 +*PROFIL PROF5 +*LIMITEJ 1 3 4 7 8 10 +*STRIC K0 PROF5MAJ PROF5MIN PROF5MAJ K0 +*X/Z 0.00 5.50 2.00 4.50 32.00 3.50 62.00 2.50 +*X/Z 66.00 0.50 86.00 0.50 90.00 2.50 120.00 3.50 +*X/Z 150.00 4.50 152.00 5.50 +*ACTIF 2 3 4 +*LIT MAJD 2 +*LIT MINEUR 3 +*LIT MAJG 4 +*LIT STOCKAGE 1 5 +* +PROFIL PROF4 +LIMITEJ 1 3 4 7 8 10 +STRIC K0 PROF4MAJ PROF4MIN PROF4MAJ K0 +X/Z 0.00 5.40 2.00 4.40 32.00 3.40 62.00 2.40 +X/Z 66.00 0.40 86.00 0.40 90.00 2.40 120.00 3.40 +X/Z 150.00 4.40 152.00 5.40 +ACTIF 2 3 4 +LIT MAJD 2 +LIT MINEUR 3 +LIT MAJG 4 +LIT STOCKAGE 1 5 +* +PROFIL PROF3A +LIMITEJ 1 3 4 7 8 10 +STRIC K0 PROF3AMAJ PROF3AMIN PROF3AMAJ K0 +X/Z 0.00 5.30 2.00 4.30 32.00 3.30 62.00 2.30 +X/Z 66.00 0.30 86.00 0.30 90.00 2.30 120.00 3.30 +X/Z 150.00 4.30 152.00 5.30 +ACTIF 2 3 4 +LIT MAJD 2 +LIT MINEUR 3 +LIT MAJG 4 +LIT STOCKAGE 1 5 +* +PROFIDEM PROF3AM PROF3A +*PROFIL PROF3AM +*LIMITEJ 1 3 4 7 8 10 +*STRIC K0 PROF3AMMAJ PROF3AMMIN PROF3AMMAJ K0 +*X/Z 0.00 5.30 2.00 4.30 32.00 3.30 62.00 2.30 +*X/Z 66.00 0.30 86.00 0.30 90.00 2.30 120.00 3.30 +*X/Z 150.00 4.30 152.00 5.30 +*ACTIF 2 3 4 +*LIT MAJD 2 +*LIT MINEUR 3 +*LIT MAJG 4 +*LIT STOCKAGE 1 5 +* +PROFIL PROF3AV +LIMITEJ 1 3 4 7 8 10 +STRIC K0 PROF3AVMAJ PROF3AVMIN PROF3AVMAJ K0 +X/Z 0.00 5.30 2.00 4.30 32.00 3.30 62.00 2.30 +X/Z 66.00 0.30 86.00 0.30 90.00 2.30 120.00 3.30 +X/Z 150.00 4.30 152.00 5.30 +ACTIF 2 3 4 +LIT MAJD 2 +LIT MINEUR 3 +LIT MAJG 4 +LIT STOCKAGE 1 5 +* +PROFIL PROF3B +LIMITEJ 1 3 4 7 8 10 +STRIC K0 PROF3BMAJ PROF3BMIN PROF3BMAJ K0 +X/Z 0.00 5.30 2.00 4.30 32.00 3.30 62.00 2.30 +X/Z 66.00 0.30 86.00 0.30 90.00 2.30 120.00 3.30 +X/Z 150.00 4.30 152.00 5.30 +ACTIF 2 3 4 +LIT MAJD 2 +LIT MINEUR 3 +LIT MAJG 4 +LIT STOCKAGE 1 5 +* +PROFIL PROF2 +LIMITEJ 1 3 4 7 8 10 +STRIC K0 PROF2MAJ PROF2MIN PROF2MAJ K0 +X/Z 0.00 5.20 2.00 4.20 32.00 3.20 62.00 2.20 +X/Z 66.00 0.20 86.00 0.20 90.00 2.20 120.00 3.20 +X/Z 150.00 4.20 152.00 5.20 +ACTIF 2 3 4 +LIT MAJD 2 +LIT MINEUR 3 +LIT MAJG 4 +LIT STOCKAGE 1 5 +* +PROFIL PROF1 +LIMITEJ 1 3 4 7 8 10 +STRIC K0 PROF1MAJ PROF1MIN PROF1MAJ K0 +X/Z 0.00 5.10 2.00 4.10 32.00 3.10 62.00 2.10 +X/Z 66.00 0.10 86.00 0.10 90.00 2.10 120.00 3.10 +X/Z 150.00 4.10 152.00 5.10 +ACTIF 2 3 4 +LIT MAJD 2 +LIT MINEUR 3 +LIT MAJG 4 +LIT STOCKAGE 1 5 +* +* Profils Strickler +PROFIL PROFSTR1 +LIMITEJ 1 4 +STRIC PROFSTR1MIN +X/Z 0.00 2.00 0.00 0.80 50.00 0.80 50.00 2.00 +* +PROFIL PROFSTR2 +STRIC PROFSTR2MIN +LIMITEJ 1 4 +X/Z 0.00 2.00 0.00 0.40 50.00 0.40 50.00 2.00 +* +* +* D\xE9finition des casiers +* -------------------------- +* +CASIER N6 +RUIS 0.000000 +PROFCAS 100.00 +LIMITEJ 1 2 +X/Z 0.00 0.30 100.00 0.30 +PROFCAS 100.00 +LIMITEJ 2 4 +X/Z -100.00 0.50 0.00 0.40 +X/Z 50.00 0.30 100.00 0.20 +SBATI 5000 0.35 +* +CASIER N7 +RUIS 0.000000 +* nbval xlong ideb ifin +PROFCAS 200.00 +LIMITEJ 1 2 +X/Z 0.00 0.20 100.00 0.20 Added: trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.dh =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.dh (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Modele3-4.dh 2009-10-18 18:39:21 UTC (rev 5388) @@ -0,0 +1,96 @@ +* Donn\xE9es g\xE9n\xE9rales +* -------------------------- +* 5 lignes de titre +CrueX - Structuration des donn\xE9es + +Mod\xE8le de test utilisant les \xE9l\xE9ments de mod\xE9lisation hydraulique les plus courants + +PBa Jan09 sur la base de Modele2 +* +* ical cru cofqrq isorti ile trepr + 2 0 0 1 1 0 0 0 0 +* +* +* D\xE9bits initiaux dans les branches +* -------------------------- + B1 100.000 B2 100.000 B3 100.000 B4 100.000 + B5 .000 B6 .000 B8 .000 +FIN +* +* +* Niveaux initiaux aux noeuds +* -------------------------- + N1 3.676 N2 3.222 N3 2.779 N4 2.624 + N5 2.000 N6 2.926 N7 2.926 +FIN +* +* +* Donn\xE9es permanentes +* -------------------------- +* dtperm tolz tolq icalmx iprint ndecou + 0 1 0 0 0.001 0.01 50 0 0 +* +* D\xE9finition des types des conditions aux limites +N1 2 +N5 1 +B8 41 +FIN +* +* Valeurs des conditions aux limites (r\xE9gimes permanents) + 100. 2.0 100. + 100. 1.5 90. +FIN +* +* +* Donnees transitoires +* -------------------------- +* dt tmax tdeb hdeb nts +0 0 15 0 0 24 0 0 0 0 0 0 0 0 0 0 4 +* +* D\xE9finition des types des conditions aux limites +N1 2 +N5 3 +B8 41 +FIN +* +* Valeurs des conditions aux limites: d\xE9bit entrant \xE0 l'amont (noeud N1) +* ilecam + 2 +* +* tj th tm ts Q + 0 0 0 0 100. + 0 1 0 0 100. + 0 3 0 0 125. + 0 4 0 0 150. + 0 5 0 0 200. + 0 7 0 0 400. + 0 9 0 0 450. + 0 11 0 0 480. + 0 12 0 0 500. + 0 13 0 0 480. + 0 15 0 0 450. + 0 17 0 0 400. + 0 19 0 0 200. + 0 20 0 0 150. + 0 21 0 0 125. + 0 23 0 0 100. + 0 24 0 0 100. +FIN +* +* Valeurs des conditions aux limites: loi Q(Z) \xE0 l'aval (noeud N5) +* Zbas Dz + 1. 0.5 +* + 0 -100. -150. -175. -200. -240. -300. -350. -400. -500. +FIN +* +* Valeurs des conditions aux limites et manoeuvres: vanne manoeuvr\xE9e par le haut (branche B8) +* ilecam + 2 +* +* tj th tm ts Q + 0 0 0 0 90. + 0 5 0 0 90. + 0 6 0 0 50. + 0 24 0 0 100. +FIN Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/EMHGeneralBuilder.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/EMHGeneralBuilder.java 2009-10-18 18:24:49 UTC (rev 5387) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/EMHGeneralBuilder.java 2009-10-18 18:39:21 UTC (rev 5388) @@ -35,7 +35,11 @@ public TreeNodeEMH(final EMH emh) { this.emh = emh; + } + @Override + public int getColumnCount() { + return 2; } @Override This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2009-10-19 21:45:23
|
Revision: 5403 http://fudaa.svn.sourceforge.net/fudaa/?rev=5403&view=rev Author: deniger Date: 2009-10-19 21:45:11 +0000 (Mon, 19 Oct 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDFRT.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPCAL.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/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/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/EMH.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/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/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/comparaison/io/default-comparaison.xml trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/etu-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/resources/Etude.etu.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Etude.etu.xml trunk/soft/fudaa-crue/dodico/src/test/resources/fichierTest/Etude2.etu.xml trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHBrancheContientNoeud.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHBrancheContientSection.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMHRelation.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/metier/emh/ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/metier/emh/TestCatEMHNoeud.java Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FactoryEMH.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FactoryEMHRelation.java Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDFRT.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDFRT.java 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDFRT.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -7,9 +7,9 @@ import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDLHY.DaoLoiFF; -import org.fudaa.dodico.crue.metier.FactoryEMH; import org.fudaa.dodico.crue.metier.emh.DonFrt; import org.fudaa.dodico.crue.metier.emh.DonFrtStrickler; +import org.fudaa.dodico.crue.metier.helper.FactoryEMH; /** * Factory qui se charge de remplir les structures DAO dufichier DFRT avec les donn�es m�tier et inversement. Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -15,9 +15,9 @@ import org.fudaa.dodico.crue.io.common.CrueDataImpl; import org.fudaa.dodico.crue.io.common.EnumsConverter; import org.fudaa.dodico.crue.io.dao.CrueDaoStructureDRSO.*; -import org.fudaa.dodico.crue.metier.FactoryEMHRelation; import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.metier.helper.EMHHelper; +import org.fudaa.dodico.crue.metier.helper.FactoryEMHRelation; /** * Factory qui se charge de remplir les structures DAO du fichier DRSO avec les données métier et inversement. @@ -304,7 +304,7 @@ // -- on remplit les sections persistantes avec celle de la branche --// if (branchePersist.Sections != null) { - branche.setListeSections(remplirSectionsBrancheAvecPersistanceDRSO(res, isSaintVenant, + branche.setListeSections(remplirSectionsBrancheAvecPersistanceDRSO(branche, res, isSaintVenant, branchePersist.Sections, analyser)); } @@ -489,8 +489,8 @@ * @param data * @return */ - private List<RelationEMH> remplirSectionsBrancheAvecPersistanceDRSO(final CrueData res, final boolean isSaintVenant, - final List listePersistanteSections, final CtuluAnalyze analyser) { + private List<RelationEMH> remplirSectionsBrancheAvecPersistanceDRSO(final CatEMHBranche branche, final CrueData res, + final boolean isSaintVenant, final List listePersistanteSections, final CtuluAnalyze analyser) { final List<RelationEMH> listeRelationEMH = new ArrayList<RelationEMH>(); if (CollectionUtils.isEmpty(listePersistanteSections)) { // CrueHelper.listEmpty("Branches", analyser); @@ -506,8 +506,8 @@ // -- commun aux objets --// if (section != null) { - final RelationEMHSectionDansBranche relation = FactoryEMHRelation.createSectionDansBranche(isSaintVenant, - section); + final RelationEMHSectionDansBranche relation = FactoryEMHRelation.createSectionDansBranche(branche, + isSaintVenant, section); relation.setXp(sectionPersist.Xp); relation.setPos((EnumPositionSection) sectionPositionConverter.fromString(sectionPersist.Pos)); if (isSaintVenant) { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPCAL.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPCAL.java 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterPCAL.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -11,10 +11,10 @@ import org.fudaa.dodico.crue.io.common.EnumsConverter; import org.fudaa.dodico.crue.io.dao.CrueDaoStructurePCAL.PdtCouplagePersist; import org.fudaa.dodico.crue.io.dao.CrueDaoStructurePCAL.PdtRes; -import org.fudaa.dodico.crue.metier.FactoryEMH; import org.fudaa.dodico.crue.metier.emh.EnumVerbosite; import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario; import org.fudaa.dodico.crue.metier.emh.PdtCst; +import org.fudaa.dodico.crue.metier.helper.FactoryEMH; import org.joda.time.Duration; /** Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -73,7 +73,7 @@ if (StringUtils.isBlank(commentaire)) { commentaire = "Generé par FUDAA le " + DateFormat.getInstance().format(new Date(System.currentTimeMillis())); } - final String[] titles = StringUtils.split(commentaire, '|'); + final String[] titles = StringUtils.splitPreserveAllTokens(commentaire, '|'); for (int i = 0; i < Math.min(NB_LINES_TITLE, titles.length); i++) { if (writeTitre) { fortranWriter.stringField(0, CrueIODico.TITRE); 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-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -11,6 +11,8 @@ import com.memoire.fu.FuLogCrue; import com.thoughtworks.xstream.converters.SingleValueConverter; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.dodico.crue.common.CrueNumberUtils; import org.fudaa.dodico.crue.io.common.CrueData; @@ -18,9 +20,9 @@ import org.fudaa.dodico.crue.io.common.CrueIOResu; import org.fudaa.dodico.crue.io.common.EnumsConverter; import org.fudaa.dodico.crue.io.dao.CrueHelper; -import org.fudaa.dodico.crue.metier.FactoryEMH; import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.metier.helper.EMHHelper; +import org.fudaa.dodico.crue.metier.helper.FactoryEMH; import org.fudaa.dodico.crue.validation.CruePrefix; /** @@ -129,16 +131,24 @@ listeRelationEmh.add(FactoryEMH.createRelationSectionDansBranche(branche, section, sumDistanceTotaleXP, coefPond, coefConv, coefDiv)); } - - // -- on ajoute la liste des relations EMH à la branche --// - branche.setListeSections(listeRelationEmh); - if (!listeRelationEmh.isEmpty()) { - ((RelationEMHSectionDansBranche) listeRelationEmh.get(0)).setPos(EnumPositionSection.AMONT); + // on cree 2 sections par défaut si pas de géometrie + if (listeRelationEmh.isEmpty()) { + double xp = 0; + if (CollectionUtils.isNotEmpty(listeDistance)) { + xp = listeDistance.get(0); + } + FactoryEMH.addSectionSansGeometrie(branche, xp); + } else { + // -- on ajoute la liste des relations EMH à la branche --// + branche.setListeSections(listeRelationEmh); + if (!listeRelationEmh.isEmpty()) { + ((RelationEMHSectionDansBranche) listeRelationEmh.get(0)).setPos(EnumPositionSection.AMONT); + } + if (listeRelationEmh.size() > 1) { + ((RelationEMHSectionDansBranche) listeRelationEmh.get(listeRelationEmh.size() - 1)) + .setPos(EnumPositionSection.AVAL); + } } - if (listeRelationEmh.size() > 1) { - ((RelationEMHSectionDansBranche) listeRelationEmh.get(listeRelationEmh.size() - 1)) - .setPos(EnumPositionSection.AVAL); - } } @@ -1809,7 +1819,9 @@ } } - + if (resu.getMetier().getPretraitementsGeom() == null) { + createDefaultOPTG(resu.getMetier()); + } return resu; } @@ -2036,9 +2048,7 @@ */ public void readRegles(final CrueData metier) throws IOException { - final OrdPrtGeoModeleBase reglesOPTG = new OrdPrtGeoModeleBase(); - // -- ajout des données métier dans le cruedata --// - metier.setPretraitementsGeom(reglesOPTG); + final OrdPrtGeoModeleBase reglesOPTG = createDefaultOPTG(metier); while (CrueIODico.appartientReglesCarte(in_.stringField(0))) { Regle regle = null; // -- analyse du premier element de la ligne pour gerer la bonne lecture --// @@ -2128,6 +2138,13 @@ } } + private OrdPrtGeoModeleBase createDefaultOPTG(final CrueData metier) { + final OrdPrtGeoModeleBase reglesOPTG = new OrdPrtGeoModeleBase(); + // -- ajout des données métier dans le cruedata --// + metier.setPretraitementsGeom(reglesOPTG); + return reglesOPTG; + } + private void createParamNum(final CrueData metier) { if (metier.getParamNumModeleBase() == null) { metier.setParamNumModeleBase(new ParamNumModeleBase()); @@ -2143,16 +2160,14 @@ public void readHeader(final CrueIOResu<CrueData> res) throws IOException { final StringBuilder comm = new StringBuilder(420); - boolean done = false; boolean readSuite = true; for (int i = 0; i < AbstractCrue9Reader.NB_LINES_TITLE; i++) { - final String readAndAvoidLabel = readAndAvoidLabel(in_); + final String readAndAvoidLabel = readAndAvoidLabel(in_).trim(); if (readAndAvoidLabel.startsWith(CrueIODico.TITRE)) { - if (!done) { - done = true; + if (comm.length() > 0) { comm.append('|'); } - comm.append(in_.stringField(1)); + comm.append(StringUtils.removeStart(in_.getLine(), CrueIODico.TITRE)); } else { readSuite = false; break; 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-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -22,9 +22,9 @@ import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.io.common.CrueIOResu; import org.fudaa.dodico.crue.io.common.EnumsConverter; -import org.fudaa.dodico.crue.metier.FactoryEMH; import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.metier.helper.EMHHelper; +import org.fudaa.dodico.crue.metier.helper.FactoryEMH; import org.fudaa.dodico.crue.metier.helper.LoiFactory; import org.fudaa.dodico.crue.metier.helper.LoiHelper; import org.fudaa.dodico.crue.validation.CruePrefix; Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FactoryEMH.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FactoryEMH.java 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FactoryEMH.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -1,162 +0,0 @@ -/** - * Licence GPL - * Copyright Genesis - */ -package org.fudaa.dodico.crue.metier; - -import java.text.NumberFormat; -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; - -import org.apache.commons.lang.StringUtils; -import org.fudaa.dodico.crue.metier.emh.*; -import org.fudaa.dodico.crue.validation.CruePrefix; -import org.joda.time.Duration; - -/** - * @author deniger - */ -public final class FactoryEMH { - - private final static NumberFormat FMT_DISTMAX; - private final static NumberFormat FMT_DISTMAX_FAIBLE; - private final static NumberFormat FMT_PROFIL_CASIER; - static { - FMT_DISTMAX = NumberFormat.getIntegerInstance(); - FMT_DISTMAX.setGroupingUsed(false); - FMT_DISTMAX.setMinimumIntegerDigits(5); - // FMT_DISTMAX.setMaximumIntegerDigits(5); - - FMT_DISTMAX_FAIBLE = NumberFormat.getNumberInstance(Locale.US); - FMT_DISTMAX_FAIBLE.setGroupingUsed(false); - FMT_DISTMAX_FAIBLE.setMinimumIntegerDigits(4); - // FMT_DISTMAX_FAIBLE.setMaximumIntegerDigits(4); - FMT_DISTMAX_FAIBLE.setMinimumFractionDigits(1); - FMT_DISTMAX_FAIBLE.setMaximumFractionDigits(1); - - FMT_PROFIL_CASIER = NumberFormat.getIntegerInstance(); - FMT_PROFIL_CASIER.setMinimumIntegerDigits(3); - FMT_PROFIL_CASIER.setGroupingUsed(false); - // FMT_PROFIL_CASIER.setMaximumIntegerDigits(3); - } - - private FactoryEMH() { - - } - - /** - * @param nomFrot le nom du frottement - * @return le strickler correctement initialise - */ - public static DonFrtStrickler createDonFrtStrickler(final String nomFrot) { - final DonFrtStrickler frt = new DonFrtStrickler(); - frt.setNom(nomFrot); - final LoiFF loiFF = new LoiFF(); - frt.setStrickler(loiFF); - loiFF.setNom(nomFrot); - // loiFF.setExtrapolInf("ValCst"); - loiFF.setType(EnumTypeLoi.LoiFK); - loiFF.setEvolutionFF(new EvolutionFF()); - final List<PtEvolutionFF> pts = new ArrayList<PtEvolutionFF>(); - loiFF.getEvolutionFF().setPtEvolutionFF(pts); - return frt; - } - - /** - * @param d la duree - * @return le pdt constant - */ - public static Pdt createPdtCst(final Duration d) { - final PdtCst pdtCst = new PdtCst(); - pdtCst.setPdtCst(d); - return pdtCst; - } - - /** - * @param idBranche - * @return - */ - public static DonCalcSansPrtBranchePdc createDCSPBranchePdcCrue9(final String idBranche) { - final DonCalcSansPrtBranchePdc dataDCSP = new DonCalcSansPrtBranchePdc(); - final EvolutionFF listeEvolution = new EvolutionFF(); - final List<PtEvolutionFF> listePoints = new ArrayList<PtEvolutionFF>(); - listeEvolution.setPtEvolutionFF(listePoints); - final LoiFF newLoi = new LoiFF(); - final String brancheNom = getBrancheNomWithoutPrefix(idBranche); - newLoi.setNom(CruePrefix.addPrefixIfNeeded(EnumTypeLoi.LoiQPdc, brancheNom)); - newLoi.setEvolutionFF(listeEvolution); - newLoi.setType(EnumTypeLoi.LoiQPdc); - dataDCSP.setLoiQPdc(newLoi); - return dataDCSP; - } - - public static String getBrancheNomWithoutPrefix(final String idBranche) { - return idBranche.startsWith(CruePrefix.P_BRANCHE) ? StringUtils.substringAfter(idBranche, CruePrefix.P_BRANCHE) - : idBranche; - } - - public static OrdPrtCIniModeleBase createOPTI() { - return new OrdPrtCIniModeleBase(); - } - - public static EMHSectionInterpolee createSectionInterpoleFromDistmax(final double xpos, final String brancheNom, - final double distmax) { - - NumberFormat fmt = FMT_DISTMAX; - if (distmax < 10) { - fmt = FMT_DISTMAX_FAIBLE; - } - final EMHSectionInterpolee interpol = new EMHSectionInterpolee(CruePrefix.changePrefix(brancheNom, - CruePrefix.P_BRANCHE, CruePrefix.P_SECTION) - + "_" + fmt.format(xpos)); - // interpol.setNom(CruePrefix.P_PROFIL_SECTION + - // getBrancheNomWithoutPrefix(brancheNom) + "_" + fmt.format(xpos)); - return interpol; - } - - /** - * @param casier le casier a traiter - * @param pos la position du profil dans le casier - * @return le DonPrtGeoProfilCasier produit - */ - public static DonPrtGeoProfilCasier createDonPrtGeoProfilCasier(final CatEMHCasier casier, final int pos) { - final DonPrtGeoProfilCasier dataDPTG = new DonPrtGeoProfilCasier(); - dataDPTG.setNom(CruePrefix.changePrefix(casier.getNom(), CruePrefix.P_CASIER, CruePrefix.P_PROFIL_CASIER) + "_" - + FMT_PROFIL_CASIER.format(pos)); - return dataDPTG; - } - - /** - * @param casier le casier a traiter - * @param pos la position du profil dans le casier - * @return le DonPrtGeoProfilCasier produit - */ - public static DonPrtGeoBatiCasier createDonPrtGeoBatiCasier(final CatEMHCasier casier) { - final DonPrtGeoBatiCasier dataDPTG = new DonPrtGeoBatiCasier(); - dataDPTG.setNom(CruePrefix.changePrefix(casier.getNom(), CruePrefix.P_CASIER, CruePrefix.P_BATI_CASIER)); - return dataDPTG; - } - - // public static String createNomWithSuff(final String profilSection, final double suff) { - // // final int nbToAdd = Math.max(1, CruePrefix.NB_CAR_MAX - profilSection.length()); - // final String nom = profilSection + new CtuluNumberFormatFixedFigure(nbToAdd).format(suff); - // return nom; - // } - - public static RelationEMHSectionDansBranche createRelationSectionDansBranche(final CatEMHBranche branche, - final CatEMHSection section, final double xp, final double coefPond, final double coefConv, final double coefDiv) { - final boolean isSaintVenant = branche instanceof EMHBrancheSaintVenant; - final RelationEMHSectionDansBranche relation = FactoryEMHRelation.createSectionDansBranche(isSaintVenant, section); - relation.setXp(xp); - relation.setPos(EnumPositionSection.INTERNE); - if (isSaintVenant) { - final RelationEMHSectionDansBrancheSaintVenant stV = (RelationEMHSectionDansBrancheSaintVenant) relation; - stV.setCoefConv(coefConv); - stV.setCoefPond(coefPond); - stV.setCoefDiv(coefDiv); - } - return relation; - } - -} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FactoryEMHRelation.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FactoryEMHRelation.java 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FactoryEMHRelation.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -1,93 +0,0 @@ -/** - * Licence GPL - * Copyright Genesis - */ -package org.fudaa.dodico.crue.metier; - -import org.fudaa.dodico.crue.metier.emh.*; - -/** - * @author deniger - */ -public final class FactoryEMHRelation { - - /** - * @param isSaintVenant true si branche de saintVenant. - * @param section la section - * @return la relation correctement initialisée - */ - public static RelationEMHSectionDansBranche createSectionDansBranche(final boolean isSaintVenant, - final CatEMHSection section) { - final RelationEMHSectionDansBranche res = isSaintVenant ? new RelationEMHSectionDansBrancheSaintVenant() - : new RelationEMHSectionDansBranche(); - res.setEmh(section); - return res; - } - - /** - * @param nd le noeud pointe - * @return la relation du noeud amond - */ - public static RelationEMHNoeudDansBranche createNoeudAmont(final CatEMHNoeud nd) { - final RelationEMHNoeudDansBranche res = createRelationNoeud(nd); - res.setAmont(true); - return res; - } - - /** - * @param nd le noeud pointe - * @return la relation du noeud amond - */ - public static RelationEMHNoeudDansBranche createNoeudAval(final CatEMHNoeud nd) { - final RelationEMHNoeudDansBranche res = createRelationNoeud(nd); - res.setAval(true); - return res; - - } - - private static RelationEMHNoeudDansBranche createRelationNoeud(final CatEMHNoeud nd) { - final RelationEMHNoeudDansBranche res = new RelationEMHNoeudDansBranche(); - res.setEmh(nd); - return res; - } - - /** - * @param casier le casier de dest - * @return une nouvelle relation casier dans noeud - */ - public static RelationEMHCasierDansNoeud createCasierDansNoeud(final CatEMHCasier casier) { - final RelationEMHCasierDansNoeud relationEMHCasierDansNoeud = new RelationEMHCasierDansNoeud(); - relationEMHCasierDansNoeud.setEmh(casier); - return relationEMHCasierDansNoeud; - } - - /** - * @param noeud le noeud de dest - * @return une nouvelle relation noeud contient casier - */ - public static RelationEMHNoeudContientCasier createNoeudContientCasier(final CatEMHNoeud noeud) { - final RelationEMHNoeudContientCasier relationEMHNoeudContientCasier = new RelationEMHNoeudContientCasier(); - relationEMHNoeudContientCasier.setEmh(noeud); - return relationEMHNoeudContientCasier; - } - - /** - * @param section la section de ref - * @return la relation RelationEMHSectionDansSectionIdem contenant la section - */ - public static RelationEMH createSectionRef(final CatEMHSection section) { - final RelationEMHSectionDansSectionIdem res = new RelationEMHSectionDansSectionIdem(); - res.setEmh(section); - return res; - } - - /** - * @param section la section de ref - * @return la relation RelationEMHSectionDansSectionIdem contenant la section - */ - public static RelationEMH createRelationContient(final EMH emh) { - final RelationEMHContient res = new RelationEMHContient(); - res.setEmh(emh); - return res; - } -} 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-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -43,7 +43,7 @@ return EMHHelper.getListeRelationsSectionsSortedByXp(this); } - public void setListeSections(final List<RelationEMH> liste) { + public void setListeSections(final List<? extends RelationEMH> liste) { EMHHelper.addListeSectionsToRelations(this, 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-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -14,12 +14,28 @@ super(nom); } + /** + * @return le noeud associe + */ public CatEMHNoeud getNoeud() { return EMHHelper.getNoeudCasier(this); } + /** + * @param noeud le noeud associe + */ public void setNoeud(final CatEMHNoeud noeud) { EMHHelper.addNoeudCasier(this, noeud); } + @Override + public boolean getActivated() { + boolean res = super.getActivated(); + if (res) { + CatEMHNoeud noeud = getNoeud(); + return noeud != null && noeud.getActivated(); + } + return res; + } + } 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-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -1,5 +1,7 @@ package org.fudaa.dodico.crue.metier.emh; +import java.util.Collection; + import org.fudaa.dodico.crue.metier.helper.EMHHelper; /** @pdOid 4ad36f59-ea9d-417e-bd4d-5fa344f59862 */ @@ -19,8 +21,22 @@ return true; } + @Override + public boolean getActivated() { + final boolean res = super.getActivated(); + if (res) { + final Collection<RelationEMHBrancheContientNoeud> brs = EMHHelper.findRelationOfType(this, + RelationEMHBrancheContientNoeud.class); + for (final RelationEMHBrancheContientNoeud relationEMHNoeudDansBranche : brs) { + if (relationEMHNoeudDansBranche.getEmh().getActivated()) { return true; } + + } + } + return false; + } + public String getIdCasier() { - CatEMHCasier res = getCasier(); + final CatEMHCasier res = getCasier(); return res == null ? null : res.getId(); } 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-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -1,5 +1,7 @@ package org.fudaa.dodico.crue.metier.emh; +import org.fudaa.dodico.crue.metier.helper.EMHHelper; + /** @pdOid ffe729b0-d13a-487e-8352-a87a649183ef */ public abstract class CatEMHSection extends EMH { /** @pdOid 7d40b636-34cd-4095-8fdb-e93bfa63b045 */ @@ -17,4 +19,19 @@ return true; } + /** + * @return true si active et si contenue par une branche active. + */ + @Override + public boolean getActivated() { + final boolean res = super.getActivated(); + if (res) { + // une section appartient a une seule branche. + final RelationEMHBrancheContientSection brs = EMHHelper.getFirstOfClass(getRelationEMH(), + RelationEMHBrancheContientSection.class); + return brs != null && brs.getEmh() != null && brs.getEmh().getActivated(); + + } + return res; + } } Modified: 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/EMH.java 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMH.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -34,6 +34,14 @@ public abstract boolean getActive(); /** + * @return la valeur réelle affectée à l'EMH. Prend en compte les relations de l'EMH. Par exemple, une section + * appartenant a une branche non active n'est pas active. + */ + public boolean getActivated() { + return getActive(); + } + + /** * Retourne l'info DonCalcSansPrt de la liste des infosEMH. Utilis� pour le fichier (DSCP) * * @return Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHBrancheContientNoeud.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHBrancheContientNoeud.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHBrancheContientNoeud.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -0,0 +1,22 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.metier.emh; + +/** + * Relation qui permet de connaitre la branche contenant un noeud. Est-ce utile ou la relation RelationEMHContient + * suffit ? + * + * @author deniger + */ +public class RelationEMHBrancheContientNoeud extends RelationEMH<CatEMHBranche> { + + /** + * @param br + */ + public RelationEMHBrancheContientNoeud(CatEMHBranche br) { + super.setEmh(br); + } + +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHBrancheContientSection.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHBrancheContientSection.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHBrancheContientSection.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -0,0 +1,21 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.metier.emh; + +/** + * Relation qui permet de connaitre la branche contenant un noeud + * + * @author deniger + */ +public class RelationEMHBrancheContientSection extends RelationEMH<CatEMHBranche> { + + /** + * @param br + */ + public RelationEMHBrancheContientSection(CatEMHBranche br) { + super.setEmh(br); + } + +} 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 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/EMHHelper.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -6,7 +6,6 @@ import org.apache.commons.collections.Predicate; import org.apache.commons.collections.Transformer; import org.fudaa.ctulu.CtuluLib; -import org.fudaa.dodico.crue.metier.FactoryEMHRelation; import org.fudaa.dodico.crue.metier.emh.*; public final class EMHHelper { @@ -198,16 +197,18 @@ * @param emh * @param liste */ - public static void addListeSectionsToRelations(final EMH emh, final List<RelationEMH> liste) { + public static void addListeSectionsToRelations(final EMH emh, final List<? extends RelationEMH> liste) { emh.getRelationEMH().addAll(liste); } - public static void addNoeudAmont(final EMH emh, final CatEMHNoeud noeud) { + public static void addNoeudAmont(final CatEMHBranche emh, final CatEMHNoeud noeud) { emh.addRelationEMH(FactoryEMHRelation.createNoeudAmont(noeud)); + noeud.addRelationEMH(new RelationEMHBrancheContientNoeud(emh)); } - public static void addNoeudAval(final EMH emh, final CatEMHNoeud noeud) { + public static void addNoeudAval(final CatEMHBranche emh, final CatEMHNoeud noeud) { emh.addRelationEMH(FactoryEMHRelation.createNoeudAval(noeud)); + noeud.addRelationEMH(new RelationEMHBrancheContientNoeud(emh)); } public static void addNoeudCasier(final CatEMHCasier casier, final CatEMHNoeud noeud) { @@ -625,19 +626,12 @@ } /** - * Retourne le noeud amont de la branche. - * * @param emh - * @return + * @return le noeud associe */ public static CatEMHNoeud getNoeudCasier(final CatEMHCasier emh) { - if (emh.getRelationEMH() != null) { - for (final RelationEMH relation : emh.getRelationEMH()) { - if (relation != null && relation.getEmh() != null && relation.getEmh() instanceof CatEMHNoeud) { return (CatEMHNoeud) relation - .getEmh(); } - } - } - return null; + RelationEMHNoeudContientCasier rel = getFirstOfClass(emh.getRelationEMH(), RelationEMHNoeudContientCasier.class); + return rel == null ? null : rel.getEmh(); } /** @@ -668,6 +662,20 @@ return (RelationEMH) CollectionUtils.find(emh.getRelationEMH(), pred); } + /** + * @param <T> le type de relation cherchée + * @param emh l'EMH parcourue + * @param classOfRelation la classe de la relation cherchée + * @return la collection voulue. + */ + public static <T extends RelationEMH> Collection<T> findRelationOfType(final EMH emh, Class<T> classOfRelation) { + if (CollectionUtils.isEmpty(emh.getRelationEMH())) { return Collections.emptyList(); } + final PredicateRelationEMHContientId pred = new PredicateRelationEMHContientId(null, classOfRelation, null); + Collection<T> res = new ArrayList<T>(emh.getRelationEMH().size()); + CollectionUtils.select(emh.getRelationEMH(), pred, res); + return res; + } + public static CatEMHCasier getCasier(final CatEMHNoeud emh) { final PredicateRelationEMHContientId pred = new PredicateRelationEMHContientId(null, RelationEMHCasierDansNoeud.class, EnumTypeEMH.CASIER); Copied: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java (from rev 5388, trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FactoryEMH.java) =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -0,0 +1,185 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.metier.helper; + +import java.text.NumberFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Locale; + +import org.apache.commons.lang.StringUtils; +import org.fudaa.dodico.crue.metier.emh.*; +import org.fudaa.dodico.crue.validation.CruePrefix; +import org.joda.time.Duration; + +/** + * @author deniger + */ +public final class FactoryEMH { + + private final static NumberFormat FMT_DISTMAX; + private final static NumberFormat FMT_DISTMAX_FAIBLE; + private final static NumberFormat FMT_PROFIL_CASIER; + static { + FMT_DISTMAX = NumberFormat.getIntegerInstance(); + FMT_DISTMAX.setGroupingUsed(false); + FMT_DISTMAX.setMinimumIntegerDigits(5); + // FMT_DISTMAX.setMaximumIntegerDigits(5); + + FMT_DISTMAX_FAIBLE = NumberFormat.getNumberInstance(Locale.US); + FMT_DISTMAX_FAIBLE.setGroupingUsed(false); + FMT_DISTMAX_FAIBLE.setMinimumIntegerDigits(4); + // FMT_DISTMAX_FAIBLE.setMaximumIntegerDigits(4); + FMT_DISTMAX_FAIBLE.setMinimumFractionDigits(1); + FMT_DISTMAX_FAIBLE.setMaximumFractionDigits(1); + + FMT_PROFIL_CASIER = NumberFormat.getIntegerInstance(); + FMT_PROFIL_CASIER.setMinimumIntegerDigits(3); + FMT_PROFIL_CASIER.setGroupingUsed(false); + // FMT_PROFIL_CASIER.setMaximumIntegerDigits(3); + } + + private FactoryEMH() { + + } + + /** + * @param nomFrot le nom du frottement + * @return le strickler correctement initialise + */ + public static DonFrtStrickler createDonFrtStrickler(final String nomFrot) { + final DonFrtStrickler frt = new DonFrtStrickler(); + frt.setNom(nomFrot); + final LoiFF loiFF = new LoiFF(); + frt.setStrickler(loiFF); + loiFF.setNom(nomFrot); + // loiFF.setExtrapolInf("ValCst"); + loiFF.setType(EnumTypeLoi.LoiFK); + loiFF.setEvolutionFF(new EvolutionFF()); + final List<PtEvolutionFF> pts = new ArrayList<PtEvolutionFF>(); + loiFF.getEvolutionFF().setPtEvolutionFF(pts); + return frt; + } + + /** + * @param d la duree + * @return le pdt constant + */ + public static Pdt createPdtCst(final Duration d) { + final PdtCst pdtCst = new PdtCst(); + pdtCst.setPdtCst(d); + return pdtCst; + } + + /** + * @param idBranche + * @return + */ + public static DonCalcSansPrtBranchePdc createDCSPBranchePdcCrue9(final String idBranche) { + final DonCalcSansPrtBranchePdc dataDCSP = new DonCalcSansPrtBranchePdc(); + final EvolutionFF listeEvolution = new EvolutionFF(); + final List<PtEvolutionFF> listePoints = new ArrayList<PtEvolutionFF>(); + listeEvolution.setPtEvolutionFF(listePoints); + final LoiFF newLoi = new LoiFF(); + final String brancheNom = getBrancheNomWithoutPrefix(idBranche); + newLoi.setNom(CruePrefix.addPrefixIfNeeded(EnumTypeLoi.LoiQPdc, brancheNom)); + newLoi.setEvolutionFF(listeEvolution); + newLoi.setType(EnumTypeLoi.LoiQPdc); + dataDCSP.setLoiQPdc(newLoi); + return dataDCSP; + } + + public static String getBrancheNomWithoutPrefix(final String idBranche) { + return idBranche.startsWith(CruePrefix.P_BRANCHE) ? StringUtils.substringAfter(idBranche, CruePrefix.P_BRANCHE) + : idBranche; + } + + public static OrdPrtCIniModeleBase createOPTI() { + return new OrdPrtCIniModeleBase(); + } + + public static EMHSectionInterpolee createSectionInterpoleFromDistmax(final double xpos, final String brancheNom, + final double distmax) { + + NumberFormat fmt = FMT_DISTMAX; + if (distmax < 10) { + fmt = FMT_DISTMAX_FAIBLE; + } + final EMHSectionInterpolee interpol = new EMHSectionInterpolee(CruePrefix.changePrefix(brancheNom, + CruePrefix.P_BRANCHE, CruePrefix.P_SECTION) + + "_" + fmt.format(xpos)); + // interpol.setNom(CruePrefix.P_PROFIL_SECTION + + // getBrancheNomWithoutPrefix(brancheNom) + "_" + fmt.format(xpos)); + return interpol; + } + + /** + * @param branche pour laquelle on initalise 2 sections sans geometrie: une amont et une aval. + * @param longueur la longueur de la branche + */ + public static void addSectionSansGeometrie(final CatEMHBranche branche, final double longueur) { + final EMHSectionSansGeometrie amont = new EMHSectionSansGeometrie(CruePrefix.changePrefix(branche.getNom(), + CruePrefix.P_BRANCHE, CruePrefix.P_SECTION) + + "_Amont"); + final EMHSectionSansGeometrie aval = new EMHSectionSansGeometrie(CruePrefix.changePrefix(branche.getNom(), + CruePrefix.P_BRANCHE, CruePrefix.P_SECTION) + + "_Aval"); + branche.setListeSections(Arrays + .asList(createRelationSectionDansBranche(branche, amont, 0, EnumPositionSection.AMONT), + createRelationSectionDansBranche(branche, aval, longueur, EnumPositionSection.AVAL))); + + } + + /** + * @param casier le casier a traiter + * @param pos la position du profil dans le casier + * @return le DonPrtGeoProfilCasier produit + */ + public static DonPrtGeoProfilCasier createDonPrtGeoProfilCasier(final CatEMHCasier casier, final int pos) { + final DonPrtGeoProfilCasier dataDPTG = new DonPrtGeoProfilCasier(); + dataDPTG.setNom(CruePrefix.changePrefix(casier.getNom(), CruePrefix.P_CASIER, CruePrefix.P_PROFIL_CASIER) + "_" + + FMT_PROFIL_CASIER.format(pos)); + return dataDPTG; + } + + /** + * @param casier le casier a traiter + * @param pos la position du profil dans le casier + * @return le DonPrtGeoProfilCasier produit + */ + public static DonPrtGeoBatiCasier createDonPrtGeoBatiCasier(final CatEMHCasier casier) { + final DonPrtGeoBatiCasier dataDPTG = new DonPrtGeoBatiCasier(); + dataDPTG.setNom(CruePrefix.changePrefix(casier.getNom(), CruePrefix.P_CASIER, CruePrefix.P_BATI_CASIER)); + return dataDPTG; + } + + public static RelationEMHSectionDansBranche createRelationSectionDansBranche(final CatEMHBranche branche, + final CatEMHSection section, final double xp, final EnumPositionSection position) { + final boolean isSaintVenant = branche instanceof EMHBrancheSaintVenant; + final RelationEMHSectionDansBranche relation = FactoryEMHRelation.createSectionDansBranche(branche, isSaintVenant, + section); + relation.setXp(xp); + relation.setPos(position); + return relation; + } + + public static RelationEMHSectionDansBranche createRelationSectionDansBranche(final CatEMHBranche branche, + final CatEMHSection section, final double xp, final double coefPond, final double coefConv, final double coefDiv) { + final boolean isSaintVenant = branche instanceof EMHBrancheSaintVenant; + final RelationEMHSectionDansBranche relation = FactoryEMHRelation.createSectionDansBranche(branche, isSaintVenant, + section); + relation.setXp(xp); + relation.setPos(EnumPositionSection.INTERNE); + if (isSaintVenant) { + final RelationEMHSectionDansBrancheSaintVenant stV = (RelationEMHSectionDansBrancheSaintVenant) relation; + stV.setCoefConv(coefConv); + stV.setCoefPond(coefPond); + stV.setCoefDiv(coefDiv); + } + return relation; + } + +} Copied: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMHRelation.java (from rev 5293, trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FactoryEMHRelation.java) =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMHRelation.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMHRelation.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -0,0 +1,94 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.metier.helper; + +import org.fudaa.dodico.crue.metier.emh.*; + +/** + * @author deniger + */ +public final class FactoryEMHRelation { + + /** + * @param isSaintVenant true si branche de saintVenant. + * @param section la section + * @return la relation correctement initialisée + */ + public static RelationEMHSectionDansBranche createSectionDansBranche(CatEMHBranche branche, + final boolean isSaintVenant, final CatEMHSection section) { + final RelationEMHSectionDansBranche res = isSaintVenant ? new RelationEMHSectionDansBrancheSaintVenant() + : new RelationEMHSectionDansBranche(); + res.setEmh(section); + section.addRelationEMH(new RelationEMHBrancheContientSection(branche)); + return res; + } + + /** + * @param nd le noeud pointe + * @return la relation du noeud amond + */ + static RelationEMHNoeudDansBranche createNoeudAmont(final CatEMHNoeud nd) { + final RelationEMHNoeudDansBranche res = createRelationNoeud(nd); + res.setAmont(true); + return res; + } + + /** + * @param nd le noeud pointe + * @return la relation du noeud amond + */ + static RelationEMHNoeudDansBranche createNoeudAval(final CatEMHNoeud nd) { + final RelationEMHNoeudDansBranche res = createRelationNoeud(nd); + res.setAval(true); + return res; + + } + + private static RelationEMHNoeudDansBranche createRelationNoeud(final CatEMHNoeud nd) { + final RelationEMHNoeudDansBranche res = new RelationEMHNoeudDansBranche(); + res.setEmh(nd); + return res; + } + + /** + * @param casier le casier de dest + * @return une nouvelle relation casier dans noeud + */ + public static RelationEMHCasierDansNoeud createCasierDansNoeud(final CatEMHCasier casier) { + final RelationEMHCasierDansNoeud relationEMHCasierDansNoeud = new RelationEMHCasierDansNoeud(); + relationEMHCasierDansNoeud.setEmh(casier); + return relationEMHCasierDansNoeud; + } + + /** + * @param noeud le noeud de dest + * @return une nouvelle relation noeud contient casier + */ + public static RelationEMHNoeudContientCasier createNoeudContientCasier(final CatEMHNoeud noeud) { + final RelationEMHNoeudContientCasier relationEMHNoeudContientCasier = new RelationEMHNoeudContientCasier(); + relationEMHNoeudContientCasier.setEmh(noeud); + return relationEMHNoeudContientCasier; + } + + /** + * @param section la section de ref + * @return la relation RelationEMHSectionDansSectionIdem contenant la section + */ + public static RelationEMH createSectionRef(final CatEMHSection section) { + final RelationEMHSectionDansSectionIdem res = new RelationEMHSectionDansSectionIdem(); + res.setEmh(section); + return res; + } + + /** + * @param section la section de ref + * @return la relation RelationEMHSectionDansSectionIdem contenant la section + */ + public static RelationEMH createRelationContient(final EMH emh) { + final RelationEMHContient res = new RelationEMHContient(); + res.setEmh(emh); + return res; + } +} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -9,6 +9,8 @@ import org.fudaa.dodico.crue.io.Crue9FileFormatFactory; import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.io.common.CrueFileType; +import org.fudaa.dodico.crue.io.common.CrueIOResu; +import org.fudaa.dodico.crue.metier.ManagerEMHModeleBase; /** * Exporte les données au format crue neuf. Il est possible de définir les formats à exporter. @@ -36,18 +38,22 @@ * S'occupe de persister le scenario en crue 10 en mettant toutes les données dans un minimum de fichier: 1 fichier * pour drso, 1 pour dfrt.... * + * @param modele utilise pour récupérer les commentaires. * @return true si réussite */ - public CrueErrorManager export() { - final CrueErrorManager error = exportFor(CrueFileType.DC, null); - return exportFor(CrueFileType.DH, error); + public CrueErrorManager export(final ManagerEMHModeleBase modele) { + final CrueErrorManager error = exportFor(CrueFileType.DC, null, modele); + return exportFor(CrueFileType.DH, error, modele); } - private CrueErrorManager exportFor(final CrueFileType dc, final CrueErrorManager error) { + private CrueErrorManager exportFor(final CrueFileType dc, final CrueErrorManager error, + final ManagerEMHModeleBase modele) { final CrueErrorManager res = error == null ? new CrueErrorManager(CommonMessages.RESOURCE_BUNDLE) : error; final AbstractCrue9FileFormat format = Crue9FileFormatFactory.getFileFormat(dc); - format.write(dataToExport, CtuluLibFile.changeExtension(new File(fichierModele), format.getExtensions()[0]), res + final CrueIOResu<CrueData> io = new CrueIOResu<CrueData>(dataToExport); + io.setCrueCommentaire(modele.getListeFichiers().getCommentaire(dc)); + format.write(io, CtuluLibFile.changeExtension(new File(fichierModele), format.getExtensions()[0]), res .getNewAnalyser()); return res; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -98,7 +98,7 @@ return typeLoi.toString() + "_"; } - public static String changePrefix(String nom, String oldPref, String newPref) { + public static String changePrefix(final String nom, final String oldPref, final String newPref) { return newPref + StringUtils.removeStart(nom, oldPref); } @@ -141,8 +141,15 @@ return getNomAvecPrefixe(prefix, loi.getNom()); } + /** + * La taille max autorisé pour les noms crue 9 + */ public static final int NB_CAR_MAX_CRUE9 = 16; /** + * La taille max autorisé pour les noms crue 9 des casiers profils. + */ + public static final int NB_CAR_MAX_CRUE9_CASIER_PROFIL = 12; + /** * Le nombre max de caractère autorise dans un nom */ public static final int NB_CAR_MAX = 32; @@ -150,9 +157,18 @@ protected static void computeNom(final ObjetNomme obj, final String prefixe, final CtuluAnalyze analyze, final String codeErreur) { final String newNom = getNomAvecPrefixe(prefixe, obj.getNom()); - if (newNom.length() > NB_CAR_MAX_CRUE9) { + // il faut ajouter un warning uniquement + final int length = newNom.length(); + if (length > NB_CAR_MAX) { analyze.addError(codeErreur, obj.getNom(), newNom); } else { + // cas des casier profil a part. + if ((obj instanceof EMHCasierProfil && length > NB_CAR_MAX_CRUE9_CASIER_PROFIL) || (length > NB_CAR_MAX_CRUE9)) { + analyze.addWarn(codeErreur + ".warn", obj.getNom(), newNom); + } + if (length > NB_CAR_MAX) { + analyze.addError(codeErreur, obj.getNom(), newNom); + } obj.setNom(newNom); } } @@ -197,9 +213,26 @@ * @return */ private static String getNomAvecPrefixe(final String prefixe, final String nomInitial) { - return (prefixMustBeAdded(prefixe, nomInitial)) ? (prefixe + nomInitial) : nomInitial; + // pas de nom initial: on ne fait rien + if (nomInitial == null) { return null; } + + if (prefixMustBeAdded(prefixe, nomInitial)) { + // le nom comporte deja un prefixe connu, on le change + final String usedPRefix = startWithKnownPrefix(nomInitial); + if (usedPRefix != null) { return changePrefix(nomInitial, usedPRefix, prefixe); } + return (prefixe + nomInitial); + } + return nomInitial; } + private static String startWithKnownPrefix(final String nomInitial) { + for (final String pref : ENUM_PREFIX.values()) { + if (!prefixMustBeAdded(pref, nomInitial)) { return pref; } + } + return null; + + } + /** * @param crueData * @return Les messages d'erreur éventuels Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateEMHProperties.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateEMHProperties.java 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateEMHProperties.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -96,7 +96,9 @@ isCrue10Compatible = false; res.addError("valid.nom.tooLong", nom); } - if (length > CruePrefix.NB_CAR_MAX_CRUE9 && isWrittenByCrue9(o)) { + if ((length > CruePrefix.NB_CAR_MAX_CRUE9 || length > CruePrefix.NB_CAR_MAX_CRUE9_CASIER_PROFIL + && o instanceof EMHCasierProfil) + && isWrittenByCrue9(o)) { isCrue9Compatible = false; if (errorForCrue9) { res.addError("valid.nom.tooLong.crue9", nom); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -12,7 +12,6 @@ import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; -import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; import org.apache.commons.lang.StringUtils; @@ -94,7 +93,7 @@ * @param in le conteneur d'erreur: peut etre null * @return le manager d'erreur. */ - public CrueErrorManager validate(CrueErrorManager in) { + public CrueErrorManager validate(final CrueErrorManager in) { final CrueErrorManager res = in == null ? new CrueErrorManager(CommonMessages.RESOURCE_BUNDLE) : in; final CtuluAnalyze analyze = writeScenario(); if (analyze.containsErrors()) { @@ -115,7 +114,7 @@ final URL xml = getScenarioFile().toURI().toURL(); final SchemaFactory schemaFactory = SchemaFactory.newInstance(W3C_XML_SCHEMA); // schemaFactory.setResourceResolver(resourceResolver) - final Schema schema = schemaFactory.newSchema(xsdURL); + /* final Schema schema = */schemaFactory.newSchema(xsdURL); // // // // // parser.setSchema(schema); @@ -123,8 +122,8 @@ @Override public void error(final SAXParseException e) throws SAXException { - String message = e.getMessage(); - Throwable cause = e.getException(); + final String message = e.getMessage(); + final Throwable cause = e.getException(); final String msg = message.indexOf(':') > 0 ? StringUtils.substringAfter(message, ":") : message; if (msg.contains("no grammar found") || msg.contains("must match DOCTYPE root") || msg.contains("Attribute 'xml:base'")) { return; } 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 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties 2009-10-19 21:45:11 UTC (rev 5403) @@ -1,9 +1,13 @@ - -crue9.cant.rename.emh = L''emh nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res +crue9.cant.rename.emh = L''emh nomm\u00E9e {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res +crue9.cant.rename.emh.warn = L''emh nomm\u00E9e {0} a \u00E9et\u00E9e renomm\u00E9e en {1} mais ne sera pas compatible pour Crue 9 crue9.cant.rename.frt = Le profil nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res -crue9.cant.rename.lit = Le frottement nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res -crue9.cant.rename.profil = Le profil casier nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res -crue9.cant.rename.profilCasier = Le lit nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res +crue9.cant.rename.frt.warn = Le profil nomm\u00E9 {0} a \u00E9et\u00E9e renomm\u00E9 en {1} mais ne sera pas compatible pour Crue 9 +crue9.cant.rename.lit = Le frottement nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9 en {1}: trop de caract\u00E8res +crue9.cant.rename.lit.warn = Le frottement nomm\u00E9 {0} a \u00E9et\u00E9e renomm\u00E9 en {1} mais ne sera pas compatible pour Crue 9 +crue9.cant.rename.profil = Le profil nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9 en {1}: trop de caract\u00E8res +crue9.cant.rename.profil.warn = Le profil nomm\u00E9 {0} a \u00E9et\u00E9e renomm\u00E9 en {1} mais ne sera pas compatible pour Crue 9 +crue9.cant.rename.profilCasier = Le profil casier nomm\u00E9 {0} ne peut pas \u00EAtre renomm\u00E9e en {1}: trop de caract\u00E8res +crue9.cant.rename.profilCasier.warn = Le profil casier nomm\u00E9 {0} a \u00E9et\u00E9e renomm\u00E9 en {1} mais ne sera pas compatible pour Crue 9 crue9.oneModele.authorized = Un seul mod\u00E8le est autoris\u00E9 pour les sc\u00E9narios Crue 9 filetype.unknown.error = Le type de fichier {0} n''est pas support\u00E9 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 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/comparaison/io/default-comparaison.xml 2009-10-19 21:45:11 UTC (rev 5403) @@ -18,7 +18,7 @@ actives --> <Requete Description="EMH active"> - simpleEMH[active='true']</Requete> + simpleEMH[activated='true']</Requete> </Selection> <!-- Compare-Liste Attribut="id": signifie que dans les listes obtenues on Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/etu-1.0.0.xsd =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/etu-1.0.0.xsd 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/xsd/etu-1.0.0.xsd 2009-10-19 21:45:11 UTC (rev 5403) @@ -446,7 +446,7 @@ <xs:attribute name="Nom" use="required"> <xs:simpleType> <xs:restriction base="xs:token"> - <xs:pattern value=".*[^\s].*\.rcal\.xml"></xs:pattern> + <xs:pattern value=".*[^\s].*\.rcal"></xs:pattern> </xs:restriction> </xs:simpleType> </xs:attribute> @@ -457,7 +457,7 @@ <xs:attribute name="Nom" use="required"> <xs:simpleType> <xs:restriction base="xs:token"> - <xs:pattern value=".*[^\s].*\.rptr\.xml"></xs:pattern> + <xs:pattern value=".*[^\s].*\.rptr"></xs:pattern> </xs:restriction> </xs:simpleType> </xs:attribute> @@ -469,7 +469,7 @@ <xs:attribute name="Nom" use="required"> <xs:simpleType> <xs:restriction base="xs:token"> - <xs:pattern value=".*[^\s].*\.rptg\.xml"></xs:pattern> + <xs:pattern value=".*[^\s].*\.rptg"></xs:pattern> </xs:restriction> </xs:simpleType> </xs:attribute> 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 2009-10-19 16:08:06 UTC (rev 5402) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/comparaison/TestRequete.java 2009-10-19 21:45:11 UTC (rev 5403) @@ -16,10 +16,10 @@ import org.fudaa.dodico.crue.comparaison.ExecuteComparaison.ExecuteComparaisonResult; import org.fudaa.dodico.crue.comparaison.config.ConfComparaisonConteneur; import org.fudaa.dodico.crue.comparaison.io.ReaderConfig; -import org.fudaa.dodico.crue.metier.FactoryEMH; -import org.fudaa.dodico.crue.metier.FactoryEMHRelation; import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.metier.helper.EMHHelper; +import org.fudaa.dodico.crue.metier.helper.FactoryEMH; +import org.fudaa.dodico.crue.metier.helper.FactoryEMHRelation; /** * @author deniger @@ -102,7 +102,8 @@ dptgSection.addLitNumerote(createLit(nom + "lit2")); branche.addInfosEMH(dptgSection); branche.addInfosEMH(new DonPrtCIniBranche()); - branche.addRelationEMH(FactoryEMHRelation.createSectionDansBranche(true, new EMHSectionInterpolee("section"))); + branche.addRelationEMH(FactoryEMHRelation.createSectionDansBranche(branche, true, new EMHSectionInterpolee( + ... [truncated message content] |
From: <de...@us...> - 2009-10-20 20:46:25
|
Revision: 5406 http://fudaa.svn.sourceforge.net/fudaa/?rev=5406&view=rev Author: deniger Date: 2009-10-20 20:46:13 +0000 (Tue, 20 Oct 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFormat.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/metier/helper/FactoryEMH.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/ScenarioSaverCrue9.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties 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/ScenarioSaverUI.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFilterExtension.java Removed Paths: ------------- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/test/java/org/ trunk/soft/fudaa-crue/fudaa/src/main/java/view/ Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -35,22 +35,9 @@ } - @SuppressWarnings("serial") @Override public BuFileFilter createFileFilter() { - return new BuFileFilter(extensions, getDescription()) { - @Override - public String getExtension(final File _f) { - // on redefinit pour recuperer le premier point. - if (_f != null) { - final String filename = _f.getName(); - final int i = filename.indexOf('.'); - if ((i > 0) && (i < filename.length() - 1)) { return filename.substring(i + 1).toLowerCase(); } - } - return null; - } - - }; + return new CustomFileFilterExtension(extensions, getDescription()); } /** Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFilterExtension.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFilterExtension.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFilterExtension.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -0,0 +1,46 @@ +package org.fudaa.dodico.crue.io; + +import java.io.File; + +import com.memoire.bu.BuFileFilter; + +/** + * @author deniger + */ +@SuppressWarnings("serial") +public final class CustomFileFilterExtension extends BuFileFilter { + String[] extensions; + + /** + * @param filters + * @param description + */ + public CustomFileFilterExtension(final String[] filters, final String description) { + super(filters, description); + extensions = filters; + } + + private boolean isSelected(final String name) { + for (int i = 0; i < extensions.length; i++) { + final String ext = extensions[i].charAt(0) == '.' ? extensions[i] : ".".concat(extensions[i]); + if (name.endsWith(ext)) { return true; } + } + return false; + } + + @Override + public boolean accept(final File _f) { + if (_f != null) { + if (_f.isDirectory()) { return true; } + if (isSelected(_f.getName())) { return true; } + } + return false; + } + + @Override + public boolean accept(final File _d, final String _fn) { + final File f = new File(_fn); + if (f.isDirectory()) { return false; } + return isSelected(f.getName()); + } +} \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFormat.java 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFormat.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -87,7 +87,7 @@ * @return un filtre correspondant aux extension */ public BuFileFilter createFileFilter() { - return new BuFileFilter(extensions, nom); + return new CustomFileFilterExtension(extensions, nom); } /** 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-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -137,7 +137,7 @@ if (CollectionUtils.isNotEmpty(listeDistance)) { xp = listeDistance.get(0); } - FactoryEMH.addSectionSansGeometrie(branche, xp); + FactoryEMH.addSectionSansGeometrie(branche, xp, metier); } else { // -- on ajoute la liste des relations EMH à la branche --// branche.setListeSections(listeRelationEmh); @@ -999,6 +999,10 @@ seuil.setLargeur(in_.doubleField(1)); seuil.setZseuil(in_.doubleField(2)); seuil.setCoefD(in_.doubleField(3)); + // lecture de cpert + if (in_.getNumberOfFields() > 4) { + seuil.setCoefPdc(in_.doubleField(4)); + } // -- ajout du seuil --// dataDCSP.addElemSeuilAvecPdc(seuil); // } @@ -1778,7 +1782,7 @@ if (element.toUpperCase().equals(CrueIODico.NOEUD)) { // -- lecture des Noeuds --// readNoeuds(metier); - } else if (CrueIODico.appartientReglesCarte(in_.getLine())) { + } else if (in_.getNumberOfFields() > 0 && CrueIODico.appartientReglesCarte(in_.stringField(0))) { // -- lecture des regles --// readRegles(metier); } else if (CrueIODico.isAnewBrancheDefinition(in_.getLine())) { 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-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -9,7 +9,6 @@ import org.apache.commons.collections.CollectionUtils; import org.fudaa.ctulu.CtuluActivity; -import org.fudaa.ctulu.CtuluLib; import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.io.common.CrueIOResu; import org.fudaa.dodico.crue.io.common.EnumsConverter; @@ -137,12 +136,12 @@ * Ecrit les regles. * * @author Adrien Hadoux - * @param data + * @param metier * @throws IOException */ public void writeRules(final CrueData metier) throws IOException { writeCom(""); - writeCom(" Definition des Regles"); + writeCom(" Configuration generale"); // -- regles PNUM --// if (metier.getParamNumModeleBase() != null) { fortranWriter.stringField(0, CrueIODico.ZREF); @@ -156,7 +155,6 @@ fortranWriter.writeFields(); } } - // writeCom("Regles ecrites dans le fichier dh"); if (metier.getPretraitementsGeom() != null && metier.getPretraitementsGeom().getRegle() != null) { for (final Regle regle : metier.getPretraitementsGeom().getRegle()) { @@ -164,42 +162,42 @@ if (EnumRegle.PROF_PLAT.equals(regle.getType())) { final double val = regle.getSeuilDetect(); - if (!CtuluLib.isEquals(val, DefaultValues.PM_PROF_PLAT, 1e-6)) { - writeCarteValeur(CrueIODico.R_PRPLAT, val * 100); - } + // if (!CtuluLib.isEquals(val, DefaultValues.PM_PROF_PLAT, 1e-6)) { + writeCarteValeur(CrueIODico.R_PRPLAT, val * 100); + // } } else if (EnumRegle.PENTE_RUPTURE.equals(regle.getType())) { final double val = regle.getSeuilDetect(); - if (!CtuluLib.isEquals(val, DefaultValues.PM_PENTE_RUPTURE, 1e-7)) { - writeCarteValeur(CrueIODico.R_RUPENT, val); - } + // if (!CtuluLib.isEquals(val, DefaultValues.PM_PENTE_RUPTURE, 1e-7)) { + writeCarteValeur(CrueIODico.R_RUPENT, val); + // } } else if (EnumRegle.DECAL.equals(regle.getType())) { final double val = regle.getSeuilDetect(); - if (!CtuluLib.isEquals(val, DefaultValues.PM_DECAL, 1e-5)) { - writeCarteValeur(CrueIODico.R_DECAL, val); - } + // if (!CtuluLib.isEquals(val, DefaultValues.PM_DECAL, 1e-5)) { + writeCarteValeur(CrueIODico.R_DECAL, val); + // } } else if (EnumRegle.LARG_SEUIL.equals(regle.getType())) { final double val = regle.getSeuilDetect(); - if (!CtuluLib.isEquals(val, DefaultValues.PM_LARG_SEUIL, 1e-3)) { - writeCarteValeur(CrueIODico.R_SLARGE, val); - } + // if (!CtuluLib.isEquals(val, DefaultValues.PM_LARG_SEUIL, 1e-3)) { + writeCarteValeur(CrueIODico.R_SLARGE, val); + // } } else if (EnumRegle.PDX_MAX.equals(regle.getType())) { final double val = regle.getSeuilDetect(); - if (!CtuluLib.isEquals(val, DefaultValues.PM_PDX_MAX, 1e-3)) { - writeCarteValeur(CrueIODico.R_DXMAX, val); - } + // if (!CtuluLib.isEquals(val, DefaultValues.PM_PDX_MAX, 1e-3)) { + writeCarteValeur(CrueIODico.R_DXMAX, val); + // } } 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(); - } + // if (Math.abs(DefaultValues.PM_VAR_PDX_MAX - var) > 1) { + fortranWriter.stringField(0, CrueIODico.R_VDXMAX); + fortranWriter.intField(1, var); + fortranWriter.writeFields(); + // } } else if (EnumRegle.PENTE_MAX.equals(regle.getType())) { final double val = regle.getSeuilDetect(); - if (!CtuluLib.isEquals(val, DefaultValues.PM_PENTE_MAX, 1e-6)) { - writeCarteValeur(CrueIODico.R_PENMAX, val * 100); - } + // if (!CtuluLib.isEquals(val, DefaultValues.PM_PENTE_MAX, 1e-6)) { + writeCarteValeur(CrueIODico.R_PENMAX, val * 100); + // } } else if (EnumRegle.REB_DEB.equals(regle.getType())) { fortranWriter.stringField(0, CrueIODico.R_REBDEB); @@ -971,6 +969,7 @@ fortranWriter.doubleField(1, seuil.getLargeur()); fortranWriter.doubleField(2, seuil.getZseuil()); fortranWriter.doubleField(3, seuil.getCoefD()); + fortranWriter.doubleField(4, seuil.getCoefPdc()); fortranWriter.writeFields(); } @@ -1041,6 +1040,7 @@ fortranWriter.doubleField(1, seuil.getLargeur()); fortranWriter.doubleField(2, seuil.getZseuil()); fortranWriter.doubleField(3, seuil.getCoefD()); + fortranWriter.doubleField(4, seuil.getCoefPdc()); fortranWriter.writeFields(); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -11,6 +11,7 @@ import java.util.Locale; import org.apache.commons.lang.StringUtils; +import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.validation.CruePrefix; import org.joda.time.Duration; @@ -119,14 +120,17 @@ /** * @param branche pour laquelle on initalise 2 sections sans geometrie: une amont et une aval. * @param longueur la longueur de la branche + * @param metier structure dans laquelle seront ajoutés les sections. */ - public static void addSectionSansGeometrie(final CatEMHBranche branche, final double longueur) { + public static void addSectionSansGeometrie(final CatEMHBranche branche, final double longueur, CrueData metier) { final EMHSectionSansGeometrie amont = new EMHSectionSansGeometrie(CruePrefix.changePrefix(branche.getNom(), CruePrefix.P_BRANCHE, CruePrefix.P_SECTION) + "_Amont"); final EMHSectionSansGeometrie aval = new EMHSectionSansGeometrie(CruePrefix.changePrefix(branche.getNom(), CruePrefix.P_BRANCHE, CruePrefix.P_SECTION) + "_Aval"); + metier.add(amont); + metier.add(aval); branche.setListeSections(Arrays .asList(createRelationSectionDansBranche(branche, amont, 0, EnumPositionSection.AMONT), createRelationSectionDansBranche(branche, aval, longueur, EnumPositionSection.AVAL))); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -179,18 +179,20 @@ final String nom = rptg.getProfilNom(i); final String id = nom.toUpperCase(); // c'est un profil de casier + CatEMHCasier casier = null; if (id.indexOf('#') > 0) { final String ndNom = StringUtils.substringBeforeLast(id, "#"); final CatEMHNoeud nd = data.findNoeudByReference(ndNom); if (nd == null) { analyze.addError("rptg.NoeudForCasier.notFound", ndNom, id); error = true; + } else { + casier = nd.getCasier(); + if (casier == null) { + analyze.addError("rptg.casier.notExist", ndNom); + error = true; + } } - final CatEMHCasier casier = nd.getCasier(); - if (casier == null) { - analyze.addError("rptg.casier.notExist", ndNom); - error = true; - } final List<DonPrtGeoProfilCasier> profilCasier = EMHHelper.selectClass(casier.getInfosEMH(), DonPrtGeoProfilCasier.class); // PC_N6_002 @@ -201,7 +203,7 @@ if (profil == null) { analyze.addError("rptg.profilCasier.notExist", donPrtSearch); error = true; - } else { + } else if (casier != null) { casier.addInfosEMH(rptg.getResultatOnProfil(nom)); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -32,11 +32,16 @@ this.errorManager = errorManager; } + /** + * @param files la liste id->Dile + * @return true si sauvegarde effectuée. + */ public boolean save(final Map<String, File> files) { final CtuluAnalyze analyzer = errorManager.getMainAnalyze(); + // on effectue quand même l'opératio if (!scenario.isCompatibleCrue9()) { - analyzer.addFatalError("scenario.nonCompatible.crue9"); - return false; + analyzer.addError("scenario.nonCompatible.crue9"); + // return false; } // -- recherche des fichiers sous modeles --// final List<ManagerEMHModeleBase> fils = scenario.getFils(); 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 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties 2009-10-20 20:46:13 UTC (rev 5406) @@ -53,7 +53,7 @@ rptg.profilCasier.notExist = Le profil de casier {0} est d\u00E9fini dans les r\u00E9sultats de pr\u00E9traitement mais il n'existe pas dans l'\u00E9tude rptg.section.notFound = La section {0} n''est pas d\u00E9finie dans l''\u00E9tude. Les r\u00E9sultats de pr\u00E9traitement ne correspondent pas aux donn\u00E9es. -scenario.nonCompatible.crue9 = Le sc\u00E9nario n''est pas compatible avec Crue9 +scenario.nonCompatible.crue9 = Le sc\u00E9nario ne sera pas compatible avec Crue9 valid.line = Ligne valid.nom.notUnique = Le nom {0} n''est pas unique Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -85,8 +85,8 @@ infoCrue_.banner = new BuIcon(pathLogo); // infoCrue_.logo = new BuIcon(pathLogo); infoCrue_.name = "Fudaa-Crue"; - infoCrue_.version = "0.8"; - infoCrue_.date = "15-Juillet-2009"; + infoCrue_.version = "0.10"; + infoCrue_.date = "21-Octobre-2009"; infoCrue_.rights = ""; infoCrue_.contact = "fu...@ge..."; infoCrue_.license = "GPL2"; Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -81,8 +81,8 @@ public boolean generateInCrue9() { if (!scenarioToPersist.isCompatibleCrue9()) { - projet.getImpl().error(CommonMessages.getString("scenario.nonCompatible.crue9")); - return false; + projet.getImpl().warn(FCrueResource.getS("ihm.export.crue9"), + CommonMessages.getString("scenario.nonCompatible.crue9")); } ScenarioExporterCrue9 loader = new ScenarioExporterCrue9(fichierModele, CrueDataImpl This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2009-10-24 01:02:29
|
Revision: 5449 http://fudaa.svn.sourceforge.net/fudaa/?rev=5449&view=rev Author: deniger Date: 2009-10-24 01:02:21 +0000 (Sat, 24 Oct 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/DateDurationConverter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHWriter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DefaultValues.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/ParamNumCalcTrans.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/helper/FactoryEMH.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/LoiFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.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/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/common/commonMessages.properties trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties 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/TestCrueDH.java 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/TestValidateModeleScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenarioWithSchema.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestCruePrefix.java trunk/soft/fudaa-crue/dodico/src/test/resources/Etu3-2/ trunk/soft/fudaa-crue/dodico/src/test/resources/Etu3-2/M3-2_c9.dc trunk/soft/fudaa-crue/dodico/src/test/resources/Etu3-2/M3-2_c9.dh trunk/soft/fudaa-crue/dodico/src/test/resources/Etu4-0/ trunk/soft/fudaa-crue/dodico/src/test/resources/Etu4-0/M4-0_c9.dc trunk/soft/fudaa-crue/dodico/src/test/resources/Etu4-0/M4-0_c9.dh 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_v1c9.dh Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/DateDurationConverter.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/DateDurationConverter.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/DateDurationConverter.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -5,7 +5,6 @@ package org.fudaa.dodico.crue.common; import org.apache.commons.lang.StringUtils; -import org.fudaa.dodico.crue.metier.helper.LoiFactory; import org.joda.time.Duration; import org.joda.time.LocalDateTime; import org.joda.time.MutablePeriod; @@ -23,6 +22,11 @@ */ public final class DateDurationConverter { + /** + * La date null + */ + public final static LocalDateTime ZERO_DATE = new LocalDateTime(01, 01, 01, 0, 0, 0, 0); + private DateDurationConverter() { // classe utilitaire } @@ -85,7 +89,7 @@ * @return la date en partant du zero de Crue. */ public static LocalDateTime getDateFromZeroDate(final Duration p) { - return LoiFactory.ZERO_DATE.plus(p); + return DateDurationConverter.ZERO_DATE.plus(p); } /** @@ -164,7 +168,7 @@ */ public static String dateToCrueFormat(final LocalDateTime date) { if (date == null) { return CRUE_ZERO; } - return durationToCrueFormat(new Duration(LoiFactory.ZERO_DATE.toDateTime(), date.toDateTime())); + return durationToCrueFormat(new Duration(DateDurationConverter.ZERO_DATE.toDateTime(), date.toDateTime())); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -102,6 +102,7 @@ final CrueIOResu<CrueData> source = (CrueIOResu<CrueData>) read.getSource(); analyzer.merge(read.getAnalyze()); analyzer.setDesc(IOMessages.getString("read.file", url.toString())); + source.setAnalyse(analyzer); return source; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterDRSO.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -304,7 +304,7 @@ // -- on remplit les sections persistantes avec celle de la branche --// if (branchePersist.Sections != null) { - branche.setListeSections(remplirSectionsBrancheAvecPersistanceDRSO(branche, res, isSaintVenant, + branche.addListeSections(remplirSectionsBrancheAvecPersistanceDRSO(branche, res, isSaintVenant, branchePersist.Sections, analyser)); } 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-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -140,7 +140,7 @@ FactoryEMH.addSectionSansGeometrie(branche, xp, metier); } else { // -- on ajoute la liste des relations EMH à la branche --// - branche.setListeSections(listeRelationEmh); + branche.addListeSections(listeRelationEmh); if (!listeRelationEmh.isEmpty()) { ((RelationEMHSectionDansBranche) listeRelationEmh.get(0)).setPos(EnumPositionSection.AMONT); } @@ -261,62 +261,47 @@ public void completeSaintVenantWithDistMax(final EMHBrancheSaintVenant branche, final double distmax, final CrueData data) { - final List<RelationEMH> relationEMH = branche.getRelationEMH(); - for (int i = 0; i < relationEMH.size(); i++) { - - final RelationEMH relation1 = relationEMH.get(i); - + final List<RelationEMHSectionDansBranche> sectionEMH = branche.getListeSections(); + if (CollectionUtils.isEmpty(sectionEMH)) { return; } + branche.getRelationEMH().removeAll(sectionEMH); + // branche.getRelationEMH().add(relation2); + branche.getRelationEMH().add(sectionEMH.get(0)); + for (int i = 0; i < sectionEMH.size() - 1; i++) { + final RelationEMHSectionDansBranche relation1 = sectionEMH.get(i); // -- si la relation concerne les sections --// - if (relation1.getEmh() instanceof CatEMHSection) { - RelationEMH relation2 = null; - // -- on recherche la prochaine relation --// - for (int j = i + 1; j < relationEMH.size() && relation2 == null; j++) { - if (relationEMH.get(j).getEmh() instanceof CatEMHSection) { - relation2 = relationEMH.get(j); - } - } + final RelationEMHSectionDansBranche relation2 = sectionEMH.get(i + 1); + final double xpos1 = relation1.getXp(); + final double xpos2 = relation2.getXp(); - if (relation2 == null) { return; } + double distance = Math.abs(xpos1 - xpos2); + if (distmax < distance) { - final double xpos1 = EMHHelper.getXpSection(relation1); - final double xpos2 = EMHHelper.getXpSection(relation2); + // -- il faut ajouter des profils interpolées --// - double distance = Math.abs(xpos1 - xpos2); - if (distmax < distance) { + // -- etape 1: on compte combien on en ajoute --// + final int nbProfilsToAdd = EMHHelper.getDistDiviseurForDistMax(distmax, distance); - // -- il faut ajouter des profils interpolées --// - - // -- etape 1: on compte combien on en ajoute --// - final int nbProfilsToAdd = EMHHelper.getDistDiviseurForDistMax(distmax, distance); - - // -- on creer une section interpolee pour chaque besoin et on l'ajoute dans cruedata puis dans les relations - // branche --//. - final double distMaxCorrige = distance / nbProfilsToAdd; - // on commence a 1: c'est normal on cree un prol - for (int k = 1; k < nbProfilsToAdd; k++) { - final double xpos = xpos1 + (k) * distMaxCorrige; - double doubleForNom = xpos; - if (doubleForNom >= 1) { - doubleForNom = Math.floor(doubleForNom); - } - final EMHSectionInterpolee interpol = FactoryEMH.createSectionInterpoleFromDistmax(doubleForNom, branche - .getNom(), distMaxCorrige); - final RelationEMH relation = FactoryEMH.createRelationSectionDansBranche(branche, interpol, xpos); - // -- ajout dans metier --// - data.add(interpol); - - // -- ajout de la relation a l'emplacement k+1 a partir de i--// - branche.getRelationEMH().add((i + k), relation); - + // -- on creer une section interpolee pour chaque besoin et on l'ajoute dans cruedata puis dans les relations + // branche --//. + final double distMaxCorrige = distance / nbProfilsToAdd; + // on commence a 1: c'est normal on cree un prol + for (int k = 1; k < nbProfilsToAdd; k++) { + final double xpos = xpos1 + (k) * distMaxCorrige; + double doubleForNom = xpos; + if (doubleForNom >= 1) { + doubleForNom = Math.floor(doubleForNom); } + final EMHSectionInterpolee interpol = FactoryEMH.createSectionInterpoleFromDistmax(doubleForNom, branche + .getNom(), distMaxCorrige); + final RelationEMH relation = FactoryEMH.createRelationSectionDansBranche(branche, interpol, xpos); + // -- ajout dans metier --// + data.add(interpol); + branche.getRelationEMH().add(relation); - // -- on translate i de k+1 itérations pour revenir a l'indice de la relation2 --// - i += nbProfilsToAdd; - // ATTENTION, le k+1 ici est indirect, car le +1 sera ajouté par la boucle for. } } - + branche.getRelationEMH().add(relation2); } } 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-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -361,14 +361,14 @@ // lecture Ligne E : Niveaux d'eau initiaux des branches / sections if (ile == 0) { - reader.readLine(); - final int iligne = reader.intField(0); // On doit avoir autant de lignes e2 ou e3 que de branches. // final int nbBranche = getNbBranches(); final int nbBranche = nomsBranches.size(); String brancheName = null; for (int i = 0; i < nbBranche; i++) { reader.readLine(); + final int iligne = reader.intField(0); + reader.readLine(); brancheName = nomsBranches.get(i); final CatEMHBranche br = res.findBrancheByReference(brancheName); @@ -395,16 +395,16 @@ int idxOnLine = 0; int maxOnLine = reader.getNumberOfFields(); for (int j = 0; j < nbDataToRead; j++) { - final double niveauEauPourProfilJ = reader.doubleField(idxOnLine++); - final DonPrtCIniSection section = new DonPrtCIniSection(); - section.setZini(niveauEauPourProfilJ); - sectionsBranche.get(j).getEmh().addInfosEMH(section); // données sur plusieurs lignes if (idxOnLine >= maxOnLine) { reader.readLine(); maxOnLine = reader.getNumberOfFields(); idxOnLine = 0; } + final double niveauEauPourProfilJ = reader.doubleField(idxOnLine++); + final DonPrtCIniSection section = new DonPrtCIniSection(); + section.setZini(niveauEauPourProfilJ); + sectionsBranche.get(j).getEmh().addInfosEMH(section); } } else if (iligne == 2) { // Ligne E3 @@ -427,9 +427,9 @@ } } - reader.readLine();// lecture de la ligne FIN - if (!FIN.equalsIgnoreCase(reader.stringField(0))) { - analyze_.addErrorFromFile("io.dh.tagFINNotFound.error", reader.getCurrent() //$NON-NLS-1$ + // reader.readLine();// lecture de la ligne FIN + if (FIN.equalsIgnoreCase(reader.stringField(0))) { + analyze_.addErrorFromFile("io.dh.tagFINFound.error", reader.getCurrent() //$NON-NLS-1$ .getLineNumber()); } @@ -1292,8 +1292,19 @@ final List<PtEvolutionFF> pts = new ArrayList<PtEvolutionFF>(); evolutionFF.setPtEvolutionFF(pts); // les pas de temps + Duration lastDuration = null; while (!FIN.equalsIgnoreCase(reader.stringField(0))) { + if (reader.getNumberOfFields() != 5) { + analyze_.addError("io.dh.ref.emh.ligneE2.error", reader.getLineNumber()); + return; + } final Duration date = readDuration(reader); + if (lastDuration != null && lastDuration.compareTo(date) > 0) { + analyze_.addError("io.dh.ref.emh.ligneE2.notCroissant.error", reader.getLineNumber()); + return; + } + + lastDuration = date; final PtEvolutionFF pt = new PtEvolutionFF(); // on cree une date avec des secondes uniquement, pour l'instant pt.setX(date.getStandardSeconds()); 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-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHWriter.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -256,12 +256,11 @@ // Ecriture ligne E1 writeCom(" ligne "); - fortranWriter.intField(0, 1); - fortranWriter.writeFields(); // Ecriture lignes E2 for (int i = 0, branchesDptiSize = branchesDPTI.size(); i < branchesDptiSize; i++) { - + fortranWriter.intField(0, 1); + fortranWriter.writeFields(); final CatEMHBranche brancheDPTI = branchesDPTI.get(i); final List<RelationEMHSectionDansBranche> sectionsBrancheDPTI = brancheDPTI.getListeSections(); final List<DonPrtCIni> dptis = brancheDPTI.getDPTI(); @@ -278,7 +277,7 @@ int idxOnLine = 0; for (int j = 0; j < countSectionsBranche; j++) { - final DonPrtCIniSection dpti = EMHHelper.getFirstOfClass(sectionsBrancheDPTI.get(i).getEmh().getInfosEMH(), + final DonPrtCIniSection dpti = EMHHelper.getFirstOfClass(sectionsBrancheDPTI.get(j).getEmh().getInfosEMH(), DonPrtCIniSection.class); double zIniPourProfilJ = 0; if (dpti != null) { 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-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -43,7 +43,7 @@ return EMHHelper.getListeRelationsSectionsSortedByXp(this); } - public void setListeSections(final List<? extends RelationEMH> liste) { + public void addListeSections(final List<? extends RelationEMH> liste) { EMHHelper.addListeSectionsToRelations(this, liste); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DefaultValues.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DefaultValues.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DefaultValues.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -1,6 +1,8 @@ package org.fudaa.dodico.crue.metier.emh; import org.fudaa.dodico.crue.common.CrueNumberUtils; +import org.fudaa.dodico.crue.common.DateDurationConverter; +import org.joda.time.Duration; /** * Valeures par defaut des EMHs. Ces valeurs sont statiques finales et sont distinguees par fichiers xml. @@ -169,6 +171,16 @@ public static final double PM_TOL_ND_Z = 0.01; /** + * P0Y0M1DT0H0M0S + */ + public static final Duration DUREE_SCENARIO = DateDurationConverter.getDuration(1, 0, 0, 0); + + /** + * P0Y0M0DT1H0M0S + */ + public static final PdtCst PDT_ONE_HOUR = new PdtCst(DateDurationConverter.getDuration(0, 1, 0, 0)); + + /** * @param ordPrtGeoModeleBase */ public static void initDefaultValues(final OrdPrtGeoModeleBase ordPrtGeoModeleBase) { Modified: 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/ParamCalcScenario.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ParamCalcScenario.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -6,19 +6,20 @@ package org.fudaa.dodico.crue.metier.emh; +import org.fudaa.dodico.crue.common.DateDurationConverter; import org.joda.time.Duration; import org.joda.time.LocalDateTime; /** @pdOid 06f3be55-38bc-4c84-9e40-14ede80db7b1 */ public class ParamCalcScenario implements InfosEMH { /** @pdOid f78103e1-696e-4ea2-aa7c-954d686c8627 */ - private LocalDateTime dateDebSce; + private LocalDateTime dateDebSce = DateDurationConverter.ZERO_DATE; /** @pdOid 11a96da7-c43a-4dc1-aef8-c665519a8279 */ - private Duration dureeSce; + private Duration dureeSce = DefaultValues.DUREE_SCENARIO; /** @pdOid a02b0fc0-f0f1-4cfe-9d2f-fd13a9d64afb */ private Pdt pdtCouplage; /** @pdOid 2b6da816-3b11-4e15-b77d-0345ce751910 */ - private Pdt pdtRes; + private Pdt pdtRes = DefaultValues.PDT_ONE_HOUR; /** @pdOid b53800e8-dc94-4d00-8455-7270f28b7f9a */ private EnumVerbosite verbosite = DefaultValues.VERBOSITE; Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ParamNumCalcTrans.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ParamNumCalcTrans.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ParamNumCalcTrans.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -16,7 +16,7 @@ private double thetaPreissmann = DefaultValues.THETA; /** @pdRoleInfo migr=no name=Pdt assc=association115 mult=1..1 type=Composition */ - private Pdt pdt; + private Pdt pdt = DefaultValues.PDT_ONE_HOUR; /** @pdGenerated default parent getter */ public Pdt getPdt() { Modified: 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/PdtCst.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/PdtCst.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -14,7 +14,19 @@ /** @pdOid 88c6bab9-ffcb-42d5-bff1-2dd665af42ed */ private Duration pdtCst; + public PdtCst() { + + } + /** + * @param pdtCst le pas de temps + */ + public PdtCst(Duration pdtCst) { + super(); + this.pdtCst = pdtCst; + } + + /** * @return the pdtCst */ public Duration getPdtCst() { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -131,7 +131,7 @@ + "_Aval"); metier.add(amont); metier.add(aval); - branche.setListeSections(Arrays + branche.addListeSections(Arrays .asList(createRelationSectionDansBranche(branche, amont, 0, EnumPositionSection.AMONT), createRelationSectionDansBranche(branche, aval, longueur, EnumPositionSection.AVAL))); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/LoiFactory.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/LoiFactory.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/LoiFactory.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -6,13 +6,13 @@ import java.util.ArrayList; import java.util.List; +import org.fudaa.dodico.crue.common.DateDurationConverter; import org.fudaa.dodico.crue.metier.emh.EnumTypeLoi; import org.fudaa.dodico.crue.metier.emh.EvolutionFF; 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.PtEvolutionFF; -import org.joda.time.LocalDateTime; /** * @author cde @@ -37,7 +37,7 @@ public static void alimenteDebutLoiDF(final LoiDF loiDF, final String nom, final EnumTypeLoi type) { alimenteDebutLoi(loiDF, nom, type); - loiDF.setDateZeroLoiDF(ZERO_DATE); + loiDF.setDateZeroLoiDF(DateDurationConverter.ZERO_DATE); } /** @@ -99,9 +99,4 @@ return null; } - /** - * La date null - */ - public final static LocalDateTime ZERO_DATE = new LocalDateTime(01, 01, 01, 0, 0, 0, 0); - } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -84,7 +84,7 @@ final ValidateEMHProperties propValidator = new ValidateEMHProperties(); emhScenario.setNom(scenario.getNom()); final List<EMH> allEMH = emhScenario.getAllEMH(); - final IdValidator res = propValidator.validateNoms(allEMH, false); + final IdValidator res = propValidator.validateNoms(allEMH); final CtuluAnalyze nomValidationRes = res.getRes(); validationBilan.addAnalyzer(nomValidationRes); scenario.setCompatibleCrue9(res.isCrue9Compatible()); @@ -96,7 +96,8 @@ // finalement tout va bien: scenario.setEmh(emhScenario); if (scenario.getEmh() != null) { - final List<CtuluAnalyze> validateValues = propValidator.validateValues(scenario.getEmh().getAllEMH()); + final List<CtuluAnalyze> validateValues = propValidator.validateValues(scenario.getEmh().getAllEMH(), scenario + .getEmh()); validationBilan.getAnalyser().addAll(validateValues); } return errorMng; Modified: 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/ScenarioLoaderCrue10.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -29,7 +29,7 @@ import org.fudaa.dodico.crue.metier.emh.EMHScenario; import org.fudaa.dodico.crue.metier.emh.EMHSousModele; import org.fudaa.dodico.crue.metier.helper.EMHHelper; -import org.fudaa.dodico.crue.validation.ValidateModeleScenario; +import org.fudaa.dodico.crue.validation.ValidateModeleScenarioWithSchema; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -77,7 +77,7 @@ protected EMHScenario compute(final Map<String, File> files) { // pour crue10, on vérifie les fichiers xml - final ValidateModeleScenario crue10Valid = new ValidateModeleScenario(createFrom(files), scenario); + final ValidateModeleScenarioWithSchema crue10Valid = new ValidateModeleScenarioWithSchema(createFrom(files), scenario); crue10Valid.validate(errorMng); if (errorMng.containsError()) { return null; } return ordonnanceChargementCrue10(files); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -3,10 +3,7 @@ */ package org.fudaa.dodico.crue.validation; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; +import java.util.*; import org.apache.commons.lang.StringUtils; import org.fudaa.ctulu.CtuluAnalyze; @@ -119,13 +116,13 @@ } /** - * Renvoie true si le préfixe doit être ajouté au nom. + * Renvoie true si le préfixe doit être ajouté au nom. Comparaison case sensitive * * @param prefixe * @param nom * @return true si le préfixe doit être ajouté au nom */ - public static boolean prefixMustBeAdded(final String prefixe, final String nom) { + private static boolean prefixMustBeAdded(final String prefixe, final String nom) { // On n'ajoute pas de préfixe si le nom est null ou si le préfixe est null ou vide if (nom == null || prefixe == null || prefixe.length() == 0) { return false; } @@ -133,23 +130,37 @@ return !nom.startsWith(prefixe); } - public static String getPrefix(final EnumTypeLoi typeLoi) { + private static String getPrefix(final EnumTypeLoi typeLoi) { return typeLoi.toString() + "_"; } + /** + * @param nom le nom a modifier + * @param oldPref le prefixe a enleve: non case sensitive. Si non présent, dans le nom initial il n'est pas enleve. + * @param newPref le nouveau prefixe. Si le nom initial commence déja par ce newPrefixe, il est remplace par le + * prefixe case-sensitive. + * @return le nom modifie + */ public static String changePrefix(final String nom, final String oldPref, final String newPref) { - return newPref + StringUtils.removeStart(nom, oldPref); + if (oldPref != null && StringUtils.startsWithIgnoreCase(nom, oldPref)) { return newPref + + StringUtils.removeStartIgnoreCase(nom, oldPref); } + return newPref + StringUtils.removeStartIgnoreCase(nom, newPref); } + private static String addPrefix(final String newPref, final String nom) { + return changePrefix(nom, null, newPref); + } + public static String getNom(final EnumTypeLoi typeLoi, final String suffixe) { - return getPrefix(typeLoi) + suffixe; + return addPrefix(getPrefix(typeLoi), suffixe); } public static String addPrefixIfNeeded(final EnumTypeLoi typeLoi, final String init) { + if (init == null) { return null; } final String pref = getPrefix(typeLoi); if (init.startsWith(pref)) { return init; } - return getPrefix(typeLoi) + init; + return getNom(typeLoi, init); } /** @@ -174,11 +185,11 @@ return prefix; } - public static String getNomAvecPrefix(final Loi loi) { - if (loi == null) { return null; } - final String prefix = getPrefix(loi.getType()); - return getNomAvecPrefixe(prefix, loi.getNom()); - } + // public static String getNomAvecPrefix(final Loi loi) { + // if (loi == null) { return null; } + // final String prefix = getPrefix(loi.getType()); + // return getNomAvecPrefixe(prefix, loi.getNom()); + // } /** * La taille max autorisé pour les noms crue 9 @@ -193,25 +204,38 @@ */ public static final int NB_CAR_MAX = 32; - protected static void computeNom(final ObjetNomme obj, final String prefixe, final CtuluAnalyze analyze, - final String codeErreur) { - final String newNom = getNomAvecPrefixe(prefixe, StringUtils.replaceChars(obj.getNom(), '#', '_')); + private static void computeNom(final ObjetNomme obj, final String prefixe, final CtuluAnalyze analyze, + final String codeErreur, final Map<String, Set<String>> newNameOldNames) { + final String oldName = obj.getNom(); + final String newNom = getNomAvecPrefixe(prefixe, oldName); // il faut ajouter un warning uniquement final int length = newNom.length(); if (length > NB_CAR_MAX) { - analyze.addError(codeErreur, obj.getNom(), newNom); + analyze.addError(codeErreur, oldName, newNom); } else { // cas des casier profil a part. if ((obj instanceof EMHCasierProfil && length > NB_CAR_MAX_CRUE9_CASIER_PROFIL) || (length > NB_CAR_MAX_CRUE9)) { - analyze.addWarn(codeErreur + ".warn", obj.getNom(), newNom); + analyze.addWarn(codeErreur + ".warn", oldName, newNom); } if (length > NB_CAR_MAX) { - analyze.addError(codeErreur, obj.getNom(), newNom); + analyze.addError(codeErreur, oldName, newNom); } obj.setNom(newNom); + if (!newNom.equals(oldName)) { + Set<String> oldNames = newNameOldNames.get(newNom); + if (oldNames == null) { + oldNames = new HashSet<String>(2); + newNameOldNames.put(newNom, oldNames); + } + oldNames.add(oldName); + } } } + private static String cleanNom(final String nom) { + return nom == null ? null : nom.replace('#', '_').replace('/', '_'); + } + /** * @param prefixe * @param loi @@ -247,18 +271,19 @@ } /** - * @param prefixe - * @param nomInitial - * @return + * @param prefixe le prefixe qui doit etre utilise + * @param nomInitial le nom intial + * @return le nom transforme. */ - private static String getNomAvecPrefixe(final String prefixe, final String nomInitial) { + private static String getNomAvecPrefixe(final String prefixe, final String nomInitialNonClean) { // pas de nom initial: on ne fait rien - if (nomInitial == null) { return null; } + if (nomInitialNonClean == null) { return null; } + final String nomInitial = cleanNom(nomInitialNonClean); if (prefixMustBeAdded(prefixe, nomInitial)) { // le nom comporte deja un prefixe connu, on le change - final String usedPRefix = startWithKnownPrefix(nomInitial); - if (usedPRefix != null) { return changePrefix(nomInitial, usedPRefix, prefixe); } + final String usedPrefix = startWithKnownPrefix(nomInitial); + if (usedPrefix != null) { return changePrefix(nomInitial, usedPrefix, prefixe); } return (prefixe + nomInitial); } return nomInitial; @@ -266,13 +291,13 @@ /** * @param nomInitial - * @return le prefixe connu utilise par le nom. + * @return le prefixe connu utilise par le nom: attention non case sensitive. */ private static String startWithKnownPrefix(final String nomInitial) { for (final String pref : ENUM_PREFIX.values()) { if (!prefixMustBeAdded(pref, nomInitial)) { return pref; } final String upperCase = pref.toUpperCase(); - if (!prefixMustBeAdded(upperCase, nomInitial)) { return upperCase; } + if (!prefixMustBeAdded(upperCase, nomInitial.toUpperCase())) { return upperCase; } } return null; @@ -283,11 +308,12 @@ * @return Les messages d'erreur éventuels */ public static CtuluAnalyze verifiePrefixeNomDonneesCrue9(final CrueData crueData) { + final Map<String, Set<String>> newNameOldNames = new HashMap<String, Set<String>>(); final List<EMH> listeEMHs = crueData.getAllSimpleEMH(); final CtuluAnalyze analyze = new CtuluAnalyze(CommonMessages.RESOURCE_BUNDLE); for (final EMH emh : listeEMHs) { - computeNom(emh, getPrefixFor(emh), analyze, "crue9.cant.rename.emh"); + computeNom(emh, getPrefixFor(emh), analyze, "crue9.cant.rename.emh", newNameOldNames); } final DonFrtConteneur frottements = crueData.getFrottements(); if (frottements != null) { @@ -295,7 +321,7 @@ for (final DonFrt donFrt : listFrt) { final LoiFF loi = donFrt.getLoi(); final String pref = (loi.getType().equals(EnumTypeLoi.LoiFK)) ? P_FROTT_STRICKLER : P_FROTT_MANNING; - computeNom(donFrt, pref, analyze, "crue9.cant.rename.frt"); + computeNom(donFrt, pref, analyze, "crue9.cant.rename.frt", newNameOldNames); } } @@ -308,20 +334,20 @@ if (donnee instanceof DonPrtGeoProfilSection) { final DonPrtGeoProfilSection donneeProfilSection = (DonPrtGeoProfilSection) donnee; - computeNom(donneeProfilSection, P_PROFIL_SECTION, analyze, "crue9.cant.rename.profil"); + computeNom(donneeProfilSection, P_PROFIL_SECTION, analyze, "crue9.cant.rename.profil", newNameOldNames); final List<LitNumerote> litsNumerotes = donneeProfilSection.getLitNumerote(); if (litsNumerotes != null) { for (int i = 0, imax = litsNumerotes.size(); i < imax; i++) { final LitNomme nomLit = litsNumerotes.get(i).getNomLit(); if (nomLit != null) { - computeNom(nomLit, P_LIT, analyze, "crue9.cant.rename.lit"); + computeNom(nomLit, P_LIT, analyze, "crue9.cant.rename.lit", newNameOldNames); } } } } else if (donnee instanceof DonPrtGeoProfilCasier) { - computeNom((ObjetNomme) donnee, P_PROFIL_CASIER, analyze, "crue9.cant.rename.profilCasier"); + computeNom((ObjetNomme) donnee, P_PROFIL_CASIER, analyze, "crue9.cant.rename.profilCasier", newNameOldNames); } else if (donnee instanceof DonPrtGeoBatiCasier) { - computeNom((ObjetNomme) donnee, P_BATI_CASIER, analyze, "crue9.cant.rename.profilCasier"); + computeNom((ObjetNomme) donnee, P_BATI_CASIER, analyze, "crue9.cant.rename.profilCasier", newNameOldNames); } } } @@ -379,7 +405,14 @@ // } // } // } + for (final Map.Entry<String, Set<String>> it : newNameOldNames.entrySet()) { + if (it.getValue().size() > 1) { + analyze.addError("crue9.sameId.forDifferentNames.error", it.getKey(), StringUtils.join( + it.getValue().iterator(), ", ")); + } + } + return analyze; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateEMHProperties.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateEMHProperties.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateEMHProperties.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -34,7 +34,7 @@ * @author deniger */ public class IdValidator implements Validator { - private final boolean errorForCrue9; + // private final boolean errorForCrue9; boolean isCrue10Compatible = true; boolean isCrue9Compatible = true; @@ -42,9 +42,8 @@ private final Map<String, Object> used = new HashMap<String, Object>(); - public IdValidator(final boolean errorForCrue9) { + public IdValidator() { super(); - this.errorForCrue9 = errorForCrue9; res.setDefaultResourceBundle(CommonMessages.RESOURCE_BUNDLE); res.setDesc(CommonMessages.getString("validation.noms")); } @@ -100,11 +99,7 @@ && o instanceof EMHCasierProfil) && isWrittenByCrue9(o)) { isCrue9Compatible = false; - if (errorForCrue9) { - res.addError("valid.nom.tooLong.crue9", nom); - } else { - res.addWarn("valid.nom.tooLong.crue9", nom); - } + res.addWarn("valid.nom.tooLong.crue9", nom); } final Object usedObject = used.get(id); if (usedObject == null) { @@ -457,14 +452,22 @@ return res; } - public IdValidator validateNoms(final List<EMH> emhs, final boolean errorForCrue9) { + public IdValidator validateNoms(final List<EMH> emhs) { validatedObjects.clear(); - final IdValidator validator = new IdValidator(errorForCrue9); + final IdValidator validator = new IdValidator(); validateValues(emhs, validator, null); return validator; } - public List<CtuluAnalyze> validateValues(final List<EMH> emhs) { + EMHScenario scenario; + + /** + * @param emhs les emhs a valider + * @param scenario le scenario contenant pour savoir + * @return + */ + public List<CtuluAnalyze> validateValues(final List<EMH> emhs, EMHScenario scenario) { + this.scenario = scenario; validatedObjects.clear(); final CtuluAnalyze analyze = new CtuluAnalyze(); final PropertyValidatorsBuilder builder = PropertyValidatorsBuilder.load(new VariableBuilder(), analyze); @@ -477,7 +480,7 @@ return validateValues(emhs, value, res); } - public List<CtuluAnalyze> validateValues(final List<EMH> emhs, final Validator validator, final List<CtuluAnalyze> in) { + private List<CtuluAnalyze> validateValues(final List<EMH> emhs, final Validator validator, final List<CtuluAnalyze> in) { final List<CtuluAnalyze> res = in == null ? new ArrayList<CtuluAnalyze>() : in; for (final EMH emh : emhs) { if (!validatedObjects.contains(emh)) { Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -1,177 +0,0 @@ -/** - * Licence GPL - * Copyright Genesis - */ -package org.fudaa.dodico.crue.validation; - -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.util.HashMap; -import java.util.Map; - -import javax.xml.parsers.SAXParser; -import javax.xml.parsers.SAXParserFactory; -import javax.xml.validation.SchemaFactory; - -import org.apache.commons.lang.StringUtils; -import org.fudaa.ctulu.CtuluAnalyze; -import org.fudaa.dodico.crue.common.CommonMessages; -import org.fudaa.dodico.crue.common.CrueErrorManager; -import org.fudaa.dodico.crue.metier.ManagerEMHScenario; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; -import org.xml.sax.helpers.DefaultHandler; - -/** - * Classe permettant de valider la cohérence des fichiers d'un modèle - * - * @author deniger - */ -public class ValidateModeleScenario { - - private final Map<String, URL> idFile; - private final ManagerEMHScenario scenario; - - private final String grammaireVersion = "1.0.0"; - - private static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage"; - private static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema"; - private static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource"; - - /** - * @param destDir le répertoire de travail de cette validation - * @param scenario le scénario à valider - */ - public ValidateModeleScenario(final Map<String, URL> destDir, final ManagerEMHScenario scenario) { - super(); - this.idFile = destDir; - this.scenario = scenario; - } - - /** - * Ecrit le fichier scenario.xml - * - * @return Les messages d'erreur éventuels - */ - public CtuluAnalyze writeScenario() { - final ScenarioWriter.InputFormatWriter out = new ScenarioWriter.InputFormatWriter(); - out.scenario = scenario; - out.version = grammaireVersion; - out.idFile = idFile; - final ScenarioWriter writer = new ScenarioWriter(); - writer.setFile(getScenarioFile()); - return writer.write(out).getAnalyze(); - } - - private final static Logger LOGGER = LoggerFactory.getLogger(ValidateModeleScenario.class); - - private File dest; - - /** - * @return le fichier utilisé pour écrire le fichier concaténé - */ - public File getScenarioFile() { - if (dest == null) { - try { - dest = File.createTempFile("valide", "scenario.xml"); - } catch (final IOException e) { - LOGGER.error("createTempFile", e); - } - } - return dest; - } - - public CrueErrorManager validate() { - return validate(null); - } - - /** - * @param in le conteneur d'erreur: peut etre null - * @return le manager d'erreur. - */ - public CrueErrorManager validate(final CrueErrorManager in) { - final CrueErrorManager res = in == null ? new CrueErrorManager(CommonMessages.RESOURCE_BUNDLE) : in; - final CtuluAnalyze analyze = writeScenario(); - if (analyze.containsErrors()) { - res.getAnalyser().add(analyze); - return res; - } - validateFile(res); - return res; - } - - private CrueErrorManager validateFile(final CrueErrorManager res) { - - final Map<String, CtuluAnalyze> map = new HashMap<String, CtuluAnalyze>(); - try { - - final URL xsdURL = ValidateModeleScenario.class.getResource("/xsd/scenario-" + grammaireVersion + ".xsd"); - // final URL xsddfrtURL = AbstractIOTestCase.class.getResource("/xsd/dfrt-1.0.xsd"); - final URL xml = getScenarioFile().toURI().toURL(); - final SchemaFactory schemaFactory = SchemaFactory.newInstance(W3C_XML_SCHEMA); - // schemaFactory.setResourceResolver(resourceResolver) - /* final Schema schema = */schemaFactory.newSchema(xsdURL); - // // - // - // // parser.setSchema(schema); - final DefaultHandler handler = new DefaultHandler() { - - @Override - public void error(final SAXParseException e) throws SAXException { - final String message = e.getMessage(); - final Throwable cause = e.getException(); - final String msg = message.indexOf(':') > 0 ? StringUtils.substringAfter(message, ":") : message; - if (msg.contains("no grammar found") || msg.contains("must match DOCTYPE root") - || msg.contains("Attribute 'xml:base'")) { return; } - LOGGER.debug("error in validation", e); - CtuluAnalyze analyze = map.get(e.getSystemId()); - if (analyze == null) { - analyze = res.getNewAnalyser(); - analyze.setResource(e.getSystemId()); - analyze.setDesc(e.getSystemId()); - map.put(e.getSystemId(), analyze); - - } - e.printStackTrace(); - analyze.addErrorFromFile(CommonMessages.RESOURCE_BUNDLE.getString("valid.line") + " " + e.getLineNumber() - + ": " + msg, e.getLineNumber()); - // e.printStackTrace(); - } - - @Override - public void fatalError(final SAXParseException e) throws SAXException { - error(e); - } - - @Override - public void warning(final SAXParseException e) throws SAXException { - // e.printStackTrace(); - } - }; - // final Validator validator = schema.newValidator(); - // // validator.s - // // SAXSource source = new SAXSource(new InputSource(xml.toString())); - // // validator.validate(source); - final SAXParserFactory parser = SAXParserFactory.newInstance(); - // parser.setSchema(schema); - parser.setNamespaceAware(true); - parser.setXIncludeAware(true); - parser.setValidating(true); - final SAXParser newSAXParser = parser.newSAXParser(); - newSAXParser.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); - newSAXParser.setProperty(JAXP_SCHEMA_SOURCE, new InputSource(xsdURL.toString())); - newSAXParser.parse(new InputSource(xml.toString()), handler); - - } catch (final Exception e) { - res.getNewAnalyser().manageException(e); - LOGGER.error("validation", e); - // e.printStackTrace(); - } - return res; - - } -} Copied: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenarioWithSchema.java (from rev 5403, trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java) =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenarioWithSchema.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenarioWithSchema.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -0,0 +1,177 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.validation; + +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.util.HashMap; +import java.util.Map; + +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; +import javax.xml.validation.SchemaFactory; + +import org.apache.commons.lang.StringUtils; +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.common.CommonMessages; +import org.fudaa.dodico.crue.common.CrueErrorManager; +import org.fudaa.dodico.crue.metier.ManagerEMHScenario; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; +import org.xml.sax.helpers.DefaultHandler; + +/** + * Classe permettant de valider la cohérence des fichiers d'un modèle pour Crue 10. + * + * @author deniger + */ +public class ValidateModeleScenarioWithSchema { + + private final Map<String, URL> idFile; + private final ManagerEMHScenario scenario; + + private final String grammaireVersion = "1.0.0"; + + private static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage"; + private static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema"; + private static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource"; + + /** + * @param destDir le répertoire de travail de cette validation + * @param scenario le scénario à valider + */ + public ValidateModeleScenarioWithSchema(final Map<String, URL> destDir, final ManagerEMHScenario scenario) { + super(); + this.idFile = destDir; + this.scenario = scenario; + } + + /** + * Ecrit le fichier scenario.xml + * + * @return Les messages d'erreur éventuels + */ + public CtuluAnalyze writeScenario() { + final ScenarioWriter.InputFormatWriter out = new ScenarioWriter.InputFormatWriter(); + out.scenario = scenario; + out.version = grammaireVersion; + out.idFile = idFile; + final ScenarioWriter writer = new ScenarioWriter(); + writer.setFile(getScenarioFile()); + return writer.write(out).getAnalyze(); + } + + private final static Logger LOGGER = LoggerFactory.getLogger(ValidateModeleScenarioWithSchema.class); + + private File dest; + + /** + * @return le fichier utilisé pour écrire le fichier concaténé + */ + public File getScenarioFile() { + if (dest == null) { + try { + dest = File.createTempFile("valide", "scenario.xml"); + } catch (final IOException e) { + LOGGER.error("createTempFile", e); + } + } + return dest; + } + + public CrueErrorManager validate() { + return validate(null); + } + + /** + * @param in le conteneur d'erreur: peut etre null + * @return le manager d'erreur. + */ + public CrueErrorManager validate(final CrueErrorManager in) { + final CrueErrorManager res = in == null ? new CrueErrorManager(CommonMessages.RESOURCE_BUNDLE) : in; + final CtuluAnalyze analyze = writeScenario(); + if (analyze.containsErrors()) { + res.getAnalyser().add(analyze); + return res; + } + validateFile(res); + return res; + } + + private CrueErrorManager validateFile(final CrueErrorManager res) { + + final Map<String, CtuluAnalyze> map = new HashMap<String, CtuluAnalyze>(); + try { + + final URL xsdURL = ValidateModeleScenarioWithSchema.class.getResource("/xsd/scenario-" + grammaireVersion + ".xsd"); + // final URL xsddfrtURL = AbstractIOTestCase.class.getResource("/xsd/dfrt-1.0.xsd"); + final URL xml = getScenarioFile().toURI().toURL(); + final SchemaFactory schemaFactory = SchemaFactory.newInstance(W3C_XML_SCHEMA); + // schemaFactory.setResourceResolver(resourceResolver) + /* final Schema schema = */schemaFactory.newSchema(xsdURL); + // // + // + // // parser.setSchema(schema); + final DefaultHandler handler = new DefaultHandler() { + + @Override + public void error(final SAXParseException e) throws SAXException { + final String message = e.getMessage(); + final Throwable cause = e.getException(); + final String msg = message.indexOf(':') > 0 ? StringUtils.substringAfter(message, ":") : message; + if (msg.contains("no grammar found") || msg.contains("must match DOCTYPE root") + || msg.contains("Attribute 'xml:base'")) { return; } + LOGGER.debug("error in validation", e); + CtuluAnalyze analyze = map.get(e.getSystemId()); + if (analyze == null) { + analyze = res.getNewAnalyser(); + analyze.setResource(e.getSystemId()); + analyze.setDesc(e.getSystemId()); + map.put(e.getSystemId(), analyze); + + } + e.printStackTrace(); + analyze.addErrorFromFile(CommonMessages.RESOURCE_BUNDLE.getString("valid.line") + " " + e.getLineNumber() + + ": " + msg, e.getLineNumber()); + // e.printStackTrace(); + } + + @Override + public void fatalError(final SAXParseException e) throws SAXException { + error(e); + } + + @Override + public void warning(final SAXParseException e) throws SAXException { + // e.printStackTrace(); + } + }; + // final Validator validator = schema.newValidator(); + // // validator.s + // // SAXSource source = new SAXSource(new InputSource(xml.toString())); + // // validator.validate(source); + final SAXParserFactory parser = SAXParserFactory.newInstance(); + // parser.setSchema(schema); + parser.setNamespaceAware(true); + parser.setXIncludeAware(true); + parser.setValidating(true); + final SAXParser newSAXParser = parser.newSAXParser(); + newSAXParser.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); + newSAXParser.setProperty(JAXP_SCHEMA_SOURCE, new InputSource(xsdURL.toString())); + newSAXParser.parse(new InputSource(xml.toString()), handler); + + } catch (final Exception e) { + res.getNewAnalyser().manageException(e); + LOGGER.error("validation", e); + // e.printStackTrace(); + } + return res; + + } +} 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 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties 2009-10-24 01:02:21 UTC (rev 5449) @@ -76,3 +76,4 @@ write.modele.noFound = Le mod\u00E8le {0} n''a pas \u00E9t\u00E9 trouv\u00E9 dans le sc\u00E9nario {1} write.scenario.action = Sauvegarde du sc\u00E9nario {0} write.sousModele.noFound = Le sous-mod\u00E8le {0} n''a pas \u00E9t\u00E9 trouv\u00E9 dans le mod\u00E8le {1} +crue9.sameId.forDifferentNames.error=L''identifiant {0} est partag\u00E9 par plusieurs nom d''origine {1} \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties 2009-10-24 01:02:21 UTC (rev 5449) @@ -118,6 +118,9 @@ io.dh.sections.dpti.troplong.error = Les niveaux des sections de la branche {0} ne sont pas toutes \u00E9crites car cela d\u00E9passe la ligne. io.dh.sections.ligneE2.error = Le nombre de valeurs pour la ligne E2 du fichier DH ne correspond pas au nombre de sections de la branche {0}. io.dh.tagFINNotFound.error = Ligne {0}: la balise FIN n''a pas \u00E9t\u00E9 trouv\u00E9 +io.dh.tagFINFound.error = Ligne {0}: la balise FIN ne doit pas \u00EAtre utilis\u00E9e +io.dh.ref.emh.ligneE2.error = Ligne {0}: la ligne ne contient pas un coupe date-valeur +io.dh.ref.emh.ligneE2.notCroissant.error = Ligne {0}: les temps ne sont pas donn\u00E9s dans l''ordre croissant io.dh.tdeb.notsupported.message = La date de d\u00E9but de sortie des r\u00E9sultats (d\u00E9finie dans les donn\u00E9es transitoires de crue9) n''est plus support\u00E9e sous crue10. io.dh.unknownConlimTransitoire.error = Lecture DH : Condition \u00E0 la limite du calcul transitoire inconnue. io.dptg.branche.ref.error = R\u00E9f\u00E9rence Branche DPTG : Impossible de trouver la Branche de r\u00E9f\u00E9rence {0}. @@ -136,7 +139,7 @@ io.dpti.ecriture.branche.error = Ecriture DPTI : pas de condition initiale pour la branche de reference {0}. io.dpti.ecriture.casier.error = Ecriture DPTI : pas de condition initiale pour le casier de reference {0}. io.dpti.ecriture.noeud.error = Ecriture DPTI : pas de condition initiale pour le noeud de reference {0}. -io.dpti.lecture.error = Lecture DPTI : Impossible de r\u00E9cup\u00E9rer les donn\u00E9es r\u00E9saux (DRSO). Les r\u00E9f\u00E9rences du fichier DPTI ne pourront etre utilis\u00E9es. +io.dpti.lecture.error = Lecture DPTI : Impossible de r\u00E9cup\u00E9rer les donn\u00E9es r\u00E9saux (DRSO). Les r\u00E9f\u00E9rences du fichier DPTI ne pourront \u00EAtre utilis\u00E9es. io.dpti.noeud.ref.error = Lecture DPTI : Impossible de trouver le noeud de r\u00E9f\u00E9rence {0}. io.drso.branches.no.noeud.amont.error = Lecture DRSO : Branches: Il n''y a pas de noeud amont pour la branche {0}. io.drso.branches.no.noeud.aval.error = Lecture DRSO : Branches: Il n''y a pas de noeud aval pour la branche {0}. Modified: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDC.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -11,11 +11,7 @@ import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.io.common.CrueIOResu; import org.fudaa.dodico.crue.io.common.IOMessages; -import org.fudaa.dodico.crue.metier.emh.CatEMHCasier; -import org.fudaa.dodico.crue.metier.emh.DonFrt; -import org.fudaa.dodico.crue.metier.emh.DonPrtGeoBatiCasier; -import org.fudaa.dodico.crue.metier.emh.EMHSectionIdem; -import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase; +import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.metier.helper.EMHHelper; import org.fudaa.dodico.crue.validation.CruePrefix; @@ -216,7 +212,15 @@ final CrueData data = testLectureFichierDC(FICHIER_TEST_MODELE3_DC); final EMHSectionIdem findByReference = (EMHSectionIdem) data.findSectionByReference("PROF6B"); assertEquals("PROF6A", findByReference.getSectionRef().getNom()); - + CatEMHBranche br1 = data.findBrancheByReference("B1"); + assertNotNull(br1); + List<RelationEMHSectionDansBranche> sections = br1.getSections(); + assertEquals(11, sections.size()); + double x = 0; + for (int i = 0; i < sections.size(); i++) { + assertEquals(x, sections.get(i).getXp()); + x = x + 50; + } // -- ecriture --// final File f = createTemptxtFile("modele3"); writeModeleCrue9(analyzer, f, data); 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 2009-10-23 20:34:57 UTC (rev 5448) +++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueDH.java 2009-10-24 01:02:21 UTC (rev 5449) @@ -54,13 +54,19 @@ } /** - * @return le resultat de la lecture du modele7 + * Test du modele 4 fourni par la CNR. */ + public void testLectureSc_M4_0_v1c9() { + final CtuluAnalyze analyzer = new CtuluAnalyze(); + final CrueIOResu<CrueData> readModele = readModele(analyzer, "/Etu4-0/M4-0_c9.dc", "/Etu4-0/M4-0_c9.dh"); + testAnalyser(analyzer); + assertNotNull(readModele.getMetier()); + testAnalyser(readModele.getAnalyse()); + } + public void testLectureModele7() { final CrueIOResu<CrueData> data = readModele7(); testModele7(data); - // testData(data.getMetier(), false); - // return data.getMetier(); } public void testEcritureModele7() { @@ -73,7 +79,7 @@ testAnalyser(analyse); try { data = readModele(analyse, fdc.toURI().toURL(), fdh.toURI().toURL()); - } catch (MalformedURLException e) { + } catch (final MalformedURLException e) { e.printStackTrace(); } testAnalyser(analyse); @@ -241,6 +247,26 @@ return super.createTempFile(); } + /** + * Test de M3-2_c9 + */ + public void testLectureM3_2_c9() { + final CtuluAnalyze log = new CtuluAnalyze(); + final CrueIOResu<CrueData> readModele = readModele(log, "/Etu3-2/M3-2_c9.dc", "/Etu... [truncated message content] |