You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(46) |
Jul
(37) |
Aug
(154) |
Sep
(140) |
Oct
(132) |
Nov
(104) |
Dec
(67) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(113) |
Feb
(73) |
Mar
(102) |
Apr
(106) |
May
(114) |
Jun
(67) |
Jul
(116) |
Aug
(48) |
Sep
(108) |
Oct
(296) |
Nov
(56) |
Dec
(53) |
2010 |
Jan
(95) |
Feb
(31) |
Mar
(40) |
Apr
(12) |
May
(10) |
Jun
(27) |
Jul
(19) |
Aug
(81) |
Sep
(48) |
Oct
(45) |
Nov
(40) |
Dec
(7) |
2011 |
Jan
(16) |
Feb
(32) |
Mar
(55) |
Apr
(38) |
May
(24) |
Jun
(37) |
Jul
(12) |
Aug
(16) |
Sep
(97) |
Oct
(90) |
Nov
(101) |
Dec
(89) |
2012 |
Jan
(18) |
Feb
(2) |
Mar
(54) |
Apr
(69) |
May
(97) |
Jun
(131) |
Jul
(70) |
Aug
(48) |
Sep
(48) |
Oct
(119) |
Nov
(194) |
Dec
(60) |
2013 |
Jan
(73) |
Feb
(35) |
Mar
(42) |
Apr
(28) |
May
(7) |
Jun
(17) |
Jul
(27) |
Aug
(10) |
Sep
(38) |
Oct
(12) |
Nov
(4) |
Dec
(16) |
2014 |
Jan
(33) |
Feb
(37) |
Mar
(19) |
Apr
(3) |
May
(47) |
Jun
(26) |
Jul
(22) |
Aug
|
Sep
(10) |
Oct
(30) |
Nov
(24) |
Dec
(19) |
2015 |
Jan
(13) |
Feb
(16) |
Mar
(36) |
Apr
(19) |
May
(5) |
Jun
(5) |
Jul
(3) |
Aug
(11) |
Sep
(22) |
Oct
(7) |
Nov
(14) |
Dec
|
2016 |
Jan
|
Feb
(26) |
Mar
(13) |
Apr
(61) |
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
(27) |
Nov
(14) |
Dec
(21) |
2017 |
Jan
(30) |
Feb
(4) |
Mar
(3) |
Apr
(5) |
May
(69) |
Jun
(29) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <had...@us...> - 2009-03-27 08:55:49
|
Revision: 4576 http://fudaa.svn.sourceforge.net/fudaa/?rev=4576&view=rev Author: hadouxad Date: 2009-03-27 08:18:28 +0000 (Fri, 27 Mar 2009) Log Message: ----------- Refactorisation de Crue en 2 sous projet Fudaa et Dodico Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormat.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormatManager.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/fileformat/EtuFileFormat.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/ConditionLimite.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/CrueData.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DefaultEMHValues.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrt.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBarrageFilEau.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheOrifice.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBranchePDC.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSaintVenant.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilLateral.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilTransversal.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtSection.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonClimM.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonFrt.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonGeoLoc.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonPrtCInitBranche.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonPrtCInitBranchePdc.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonPrtCInitNoeud.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonPrtCInitSection.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonPrtClInit.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonPrtGeo.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonPrtGeoBrancheSaintVenant.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonPrtGeoCasierProfil.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonPrtGeoProfilCommun.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonPrtGeoSectionIdem.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonPrtGeoSectionProfil.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/DonPrtReseau.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMH.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageFilEau.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageGenerique.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageRhone.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHBrancheEnchainement.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHBrancheNiveauxAssocies.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHBrancheOrifice.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHBranchePdc.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHBrancheSaintVenant.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilLongitudinale.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilTransversal.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHBrancheStrickler.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHCasierMNT.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHCasierProfil.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHNoeudNiveauContinu.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHSectionIdem.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHSectionInterpolee.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHSectionProfil.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/EMHSectionSansGeometrie.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/ElemOrifice.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/ElemSeuil.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/ElemSeuilAvecPdc.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/Evolution.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/InfosEMH.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/LigneForce.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/LimAxeHydraulique.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/LitNomme.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/LitNumerote.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/Loi.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/ProfilCasier.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/PtProfil.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/ResCalcul.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/ResPrtClinit.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/ResPrtGeo.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/ResPrtGeoCasier.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/ResPrtGeoSection.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/ResPrtReseau.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/StriRefC.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/StriRefH.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/StriRefZ.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/VariableOrdonnee.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/ZDeYprim.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/dodico-crue/.classpath branches/Prepro-0.92-SNAPSHOT/dodico-crue/.project branches/Prepro-0.92-SNAPSHOT/dodico-crue/bin/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/main/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/main/java/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/main/java/org/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/main/java/org/fudaa/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/main/java/org/fudaa/dodico/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue09reader.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue10reader.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue10writer.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue9writer.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/fileformat/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/common/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/common/CruePreferences.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/common/CrueRessource.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoFactoryDCSP.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoFactoryDFRT.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoFactoryDPTG.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoFactoryDPTI.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoFactoryDRSO.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoFactoryETU.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoParsing.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoPersistDCSP.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoPersistDFRT.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoPersistDPTG.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoPersistDPTI.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoPersistDRSO.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoPersistETU.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoPersistOPTG.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoPersit.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDCSP.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDFRT.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDPTG.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDPTI.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDRSO.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatETU.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/validatorXml/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/validatorXml/ValidatorXml.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/validatorXml/valideDCSP.xsd branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/validatorXml/valideDFRT.xsd branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/validatorXml/valideDPTG.xsd branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/validatorXml/valideDPTI.xsd branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/validatorXml/valideDRSO.xsd branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/validatorXml/valideETU.xsd branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/validatorXml/valideOPTG.xsd branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/validatorXml/valideTest.xsd branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/EMHInfosVersion.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/EMHModeleBase.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/EMHModeleEnchainement.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/EMHModeleRun.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/EMHProjectInfos.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/EMHRun.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/EMHScenario.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/EMHproject.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/FichierCrue.java branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/metier/emh/ Added: branches/Prepro-0.92-SNAPSHOT/dodico-crue/.classpath =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico-crue/.classpath (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico-crue/.classpath 2009-03-27 08:18:28 UTC (rev 4576) @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry combineaccessrules="false" kind="src" path="/ctulu"/> + <classpathentry combineaccessrules="false" kind="src" path="/dodico"/> + <classpathentry combineaccessrules="false" kind="src" path="/ebli"/> + <classpathentry combineaccessrules="false" kind="src" path="/fudaa"/> + <classpathentry kind="output" path="bin"/> +</classpath> Added: branches/Prepro-0.92-SNAPSHOT/dodico-crue/.project =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico-crue/.project (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico-crue/.project 2009-03-27 08:18:28 UTC (rev 4576) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>dodico-crue</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> Copied: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue09reader.java (from rev 4534, branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue09reader.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue09reader.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue09reader.java 2009-03-27 08:18:28 UTC (rev 4576) @@ -0,0 +1,11 @@ +package org.fudaa.dodico.crue.IO; +/** + * G\xE8re la lecteure du format crue 09. + * + * Utilise fortran reader + * @author Adrien Hadoux + * + */ +public class Crue09reader { + +} Property changes on: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue09reader.java ___________________________________________________________________ Added: svn:mergeinfo + Copied: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue10reader.java (from rev 4568, branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10reader.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue10reader.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue10reader.java 2009-03-27 08:18:28 UTC (rev 4576) @@ -0,0 +1,170 @@ +package org.fudaa.dodico.crue.IO; + +import java.io.File; +import java.util.List; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.common.CrueRessource; +import org.fudaa.dodico.crue.dao.CrueDaoParsing; +import org.fudaa.dodico.crue.dao.CrueDaoPersistDCSP; +import org.fudaa.dodico.crue.dao.CrueDaoPersistDFRT; +import org.fudaa.dodico.crue.dao.CrueDaoPersistDPTG; +import org.fudaa.dodico.crue.dao.CrueDaoPersistDPTI; +import org.fudaa.dodico.crue.dao.CrueDaoPersistDRSO; +import org.fudaa.dodico.crue.dao.CrueDaoPersistETU; +import org.fudaa.dodico.crue.dao.CrueDaoPersistOPTG; +import org.fudaa.dodico.crue.dao.CrueDaoPersit; +import org.fudaa.dodico.crue.dao.validatorXml.ValidatorXml; +import org.fudaa.dodico.crue.metier.EMHproject; +import org.fudaa.dodico.crue.metier.emh.CrueData; +import org.fudaa.dodico.crue.metier.emh.DonFrt; +import org.fudaa.dodico.crue.metier.emh.DonPrtReseau; +import org.fudaa.dodico.crue.metier.emh.EMH; + + + + +/** + * G\xE8re la lecteure du format crue 10 + * + * Utilise du parsing xml + * @author Adrien Hadoux + * + */ +public class Crue10reader { + + /** + * lit le fichier et remplit les infos d'erreurs et gestion des xsd. + * @author Adrien Hadoux + * + */ + protected static class ReaderWithExtra<T>{ + CrueDaoPersit<T> data; + CtuluAnalyze listeMessageError; + Object dataLinked; + + public ReaderWithExtra(CrueDaoPersit<T> data,Object dataLinked,CtuluAnalyze listeMessageError){ + this.data=data; + this.listeMessageError=listeMessageError; + this.dataLinked=dataLinked; + } + /** + * lit le fichier et le valide via la xsd. + * @param fichier + * @param validatorXSDfile + * @return + */ + public T read(File fichier,String validatorXSDfile){ + + listeMessageError.setDesc(CrueRessource.getS(" Analyse du Fichier "+fichier.getName())); + + //-- evaluation du fichier avec la xsd --// + if(!ValidatorXml.validXMLWithDOM(fichier.getAbsolutePath(), validatorXSDfile, listeMessageError) ){ + listeMessageError.addWarn( CrueRessource.getS("Fichier "+fichier.getName()+" non valid\xE9 par la XSD "+validatorXSDfile),0); + } + + //-- lecture des donn\xE9es --// + CrueDaoParsing<T> parser=new CrueDaoParsing<T>(data); + T res= parser.getPersistData(dataLinked, fichier, listeMessageError); + + + + return res; + } + + } + + + /** + * lit le fichier xml ETU + * ETU - Le fichier ETU d\xE9crit les conditions initiales + * et retourne les donn\xE9es m\xE9tier correspondantes. + * Attention, il faut fournir en entree les structures de donnees DRSO + * car le fichier ETU ne contient que des references vers les objets d\xE9crits dans DRSO. + */ + public static EMHproject readETUFile( File fichierETU,CtuluAnalyze listeMessageError){ + return (new ReaderWithExtra<EMHproject>(new CrueDaoPersistETU(),null,listeMessageError)).read(fichierETU, ValidatorXml.xsdETU); + } + + + + + /** + * lit le fichier xml DRSO + * DRSO - Fichier des donn\xE9es du r\xE9seau (xml) + * et retourne les donn\xE9es m\xE9tier correspondantes. + * @param fichierDRSO + * @return + */ + public static CrueData readDRSOFile( File fichierDRSO,CtuluAnalyze listeMessageError){ + + //-- remplissage des donnees m\xE9tier a partir des persistantes--// + return (new ReaderWithExtra<CrueData>(new CrueDaoPersistDRSO(),null,listeMessageError)).read(fichierDRSO, ValidatorXml.xsdDRSO); + + } + + + /** + * lit le fichier xml DPTI + * DPTI - Le fichier DPTI d\xE9crit les conditions initiales + * et retourne les donn\xE9es m\xE9tier correspondantes. + * Attention, il faut fournir en entree les structures de donnees DRSO + * car le fichier DPTI ne contient que des references vers les objets d\xE9crits dans DRSO. + */ + public static void readDPTIFile( File fichierDPTI,CrueData dataDRSO,CtuluAnalyze listeMessageError){ + (new ReaderWithExtra<CrueData>(new CrueDaoPersistDPTI(),dataDRSO,listeMessageError)).read(fichierDPTI, ValidatorXml.xsdDPTI); + } + + + + /** + * Lit le fichier xml \xE0 l'emplacement fichierDDPTG + * DPTG - Fichier des donn\xE9es de pr\xE9traitement g\xE9om\xE9trique (xml) + * a partir des donn\xE9es m\xE9tiers fournies. + * ATTENTION: DPTG a besoin du fichier DRSO et DFRT car il contient des r\xE9f\xE9rences vers ces objets. + */ + public static void readDPTGFile( File fichierDPTG,CrueData dataDRSOetDFRT, CtuluAnalyze listeMessageError){ + + (new ReaderWithExtra<CrueData>(new CrueDaoPersistDPTG(),dataDRSOetDFRT,listeMessageError)).read(fichierDPTG, ValidatorXml.xsdDPTG); + } + + /** + * lit le fichier xml DSCP + * DSCP - Le fichier DSCP d\xE9crit les variables de calculs pour les branches. + * et retourne les donn\xE9es m\xE9tier correspondantes. + * Attention, il faut fournir en entree les structures de donnees DRSO + * car le fichier DSCP ne contient que des references vers les objets d\xE9crits dans DRSO. + */ + public static void readDSCPFile( File fichierDSCP,List<EMH> dataDRSO,CtuluAnalyze listeMessageError){ + (new ReaderWithExtra<List<EMH>>(new CrueDaoPersistDCSP(),dataDRSO,listeMessageError)).read(fichierDSCP, ValidatorXml.xsdDCSP); + } + + /** + * lit le fichier xml DFRT + * DFRT - Fichier des frottements (xml) + * et retourne les donn\xE9es m\xE9tier correspondantes. + * @param fichierDFRT + * @return + */ + public static List<DonFrt> readDFRTFile( File fichierDFRT,CtuluAnalyze listeMessageError){ + return (new ReaderWithExtra<List<DonFrt>>(new CrueDaoPersistDFRT(),null,listeMessageError)).read(fichierDFRT, ValidatorXml.xsdDFRT); + + } + + /** + * lit le fichier xml OPTG + * OPTG - Fichier des ordres pour le pr\xE9traitement g\xE9om\xE9trique (xml). + * et retourne les donn\xE9es m\xE9tier correspondantes. + * @param fichierOPTG + * @return + */ + public static DonPrtReseau readOPTGFile( File fichierOPTG,CtuluAnalyze listeMessageError){ + return (new ReaderWithExtra<DonPrtReseau>(new CrueDaoPersistOPTG(),null,listeMessageError)).read(fichierOPTG, ValidatorXml.xsdOPTG); + + } + + + + + +} Property changes on: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue10reader.java ___________________________________________________________________ Added: svn:mergeinfo + Copied: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue10writer.java (from rev 4568, branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10writer.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue10writer.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue10writer.java 2009-03-27 08:18:28 UTC (rev 4576) @@ -0,0 +1,133 @@ +package org.fudaa.dodico.crue.IO; + +import java.io.File; +import java.util.List; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.common.CrueRessource; +import org.fudaa.dodico.crue.dao.CrueDaoParsing; +import org.fudaa.dodico.crue.dao.CrueDaoPersistDCSP; +import org.fudaa.dodico.crue.dao.CrueDaoPersistDFRT; +import org.fudaa.dodico.crue.dao.CrueDaoPersistDPTG; +import org.fudaa.dodico.crue.dao.CrueDaoPersistDPTI; +import org.fudaa.dodico.crue.dao.CrueDaoPersistDRSO; +import org.fudaa.dodico.crue.dao.CrueDaoPersistOPTG; +import org.fudaa.dodico.crue.dao.CrueDaoPersit; +import org.fudaa.dodico.crue.metier.emh.CrueData; +import org.fudaa.dodico.crue.metier.emh.DonFrt; +import org.fudaa.dodico.crue.metier.emh.DonPrtReseau; +import org.fudaa.dodico.crue.metier.emh.EMH; + + + +/** + * Writer qui g\xE8re l'io vers le format crue 10. + * + * Utilise du parsing xml + * @author Adrien Hadoux + * + */ +public class Crue10writer { + + + protected static class WriterWithExtra<T>{ + + CrueDaoPersit<T> data; + T dataMetier; + + public WriterWithExtra(CrueDaoPersit<T> data,T dataMetier){ + this.data=data; + this.dataMetier=dataMetier; + } + + public boolean write(CtuluAnalyze listeMessageError, File f){ + + listeMessageError.setDesc(CrueRessource.getS(" Analyse du Fichier "+f.getName())); + + data.fillInfosWith(dataMetier,listeMessageError); + CrueDaoParsing<T> parser=new CrueDaoParsing<T>(data); + return parser.persistData(f,listeMessageError); + } + + } + + /** + * Ecrit le fichier xml \xE0 l'emplacement fichierDRSO + * DRSO - Fichier des donn\xE9es du r\xE9seau (xml) + * a partir des donn\xE9es m\xE9tiers fournies. + */ + public static boolean writeDRSOFile(CrueData data, File fichierDRSO,CtuluAnalyze listeMessageError){ + return (new WriterWithExtra<CrueData>(new CrueDaoPersistDRSO(),data)).write(listeMessageError, fichierDRSO); + } + + + /** + * Ecrit le fichier xml \xE0 l'emplacement fichierDDPTI + * DPTI - Le fichier DPTI d\xE9crit les conditions initiales + * a partir des donn\xE9es m\xE9tiers fournies. + */ + public static boolean writeDPTIFile(CrueData data, File fichierDPTI,CtuluAnalyze listeMessageError){ + + + return (new WriterWithExtra<CrueData>(new CrueDaoPersistDPTI(),data)).write(listeMessageError, fichierDPTI); + } + + + /** + * Ecrit le fichier xml \xE0 l'emplacement fichierDDPTI + * DSCP - Le fichier DSCP d\xE9crit les variables de calcul pour les branches + * a partir des donn\xE9es m\xE9tiers fournies. + */ + public static boolean writeDSCPFile(List<EMH> data, File fichierDSCP,CtuluAnalyze listeMessageError){ + return (new WriterWithExtra<List<EMH>>(new CrueDaoPersistDCSP(),data)).write(listeMessageError, fichierDSCP); + } + + /** + * Ecrit le fichier xml \xE0 l'emplacement fichierDRSO + * DFRT - Fichier des frottements (xml) + * a partir des donn\xE9es m\xE9tiers fournies. + */ + public static boolean writeDFRTFile(List<DonFrt> data, File fichierDFRT,CtuluAnalyze listeMessageError){ + return (new WriterWithExtra<List<DonFrt>>(new CrueDaoPersistDFRT(),data)).write(listeMessageError, fichierDFRT); + } + + + /** + * Ecrit le fichier xml \xE0 l'emplacement fichierDDPTG + * DPTG - Fichier des donn\xE9es de pr\xE9traitement g\xE9om\xE9trique (xml) + * a partir des donn\xE9es m\xE9tiers fournies. + */ + public static boolean writeDPTGFile(CrueData data, File fichierDPTG,CtuluAnalyze listeMessageError){ + return (new WriterWithExtra<CrueData>(new CrueDaoPersistDPTG(),data)).write(listeMessageError, fichierDPTG); + } + + /** + * ecrit le fichier xml OPTG + * OPTG - Fichier des ordres pour le pr\xE9traitement g\xE9om\xE9trique (xml). + * et retourne les donn\xE9es m\xE9tier correspondantes. + * @param fichierOPTG + * @return + */ + public static boolean writeOPTGFile(DonPrtReseau data, File fichierOPTG,CtuluAnalyze listeMessageError){ + CrueDaoPersistOPTG dataPersistante=new CrueDaoPersistOPTG(); + return (new WriterWithExtra<DonPrtReseau>(new CrueDaoPersistOPTG(),data)).write(listeMessageError, fichierOPTG); + } + + /** + * Methode qui \xE9crit l'ensemble du projet au format crue. + * TODO: adrien: il faut mettre en param d'entr\xE9e un emhScenario qui contient les noms de tous les fichiers. + * @return + */ + public static boolean writeProjetCrue10(){ + boolean ok=false; + //TODO faire la methode. + + + + + return ok; + } + + + +} Copied: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue9writer.java (from rev 4534, branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue9writer.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue9writer.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/Crue9writer.java 2009-03-27 08:18:28 UTC (rev 4576) @@ -0,0 +1,11 @@ +package org.fudaa.dodico.crue.IO; + +/** + * writer qui permet d'\xE9crier les structures de crue 09 dans les fichiers appropri\xE9s. + * Utilise fortran writer + * @author Adrien Hadoux + * + */ +public class Crue9writer { + +} Property changes on: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/fileformat ___________________________________________________________________ Added: svn:mergeinfo + Modified: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormat.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormat.java 2009-03-24 18:49:39 UTC (rev 4568) +++ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormat.java 2009-03-27 08:18:28 UTC (rev 4576) @@ -1,4 +1,4 @@ -package main.java.org.fudaa.dodico.crue.IO.fileformat; +package org.fudaa.dodico.crue.IO.fileformat; import java.io.File; import java.util.Map; Modified: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormatManager.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormatManager.java 2009-03-24 18:49:39 UTC (rev 4568) +++ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormatManager.java 2009-03-27 08:18:28 UTC (rev 4576) @@ -1,4 +1,4 @@ -package main.java.org.fudaa.dodico.crue.IO.fileformat; +package org.fudaa.dodico.crue.IO.fileformat; import java.util.ArrayList; import java.util.List; Modified: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/fileformat/EtuFileFormat.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/EtuFileFormat.java 2009-03-24 18:49:39 UTC (rev 4568) +++ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/IO/fileformat/EtuFileFormat.java 2009-03-27 08:18:28 UTC (rev 4576) @@ -1,7 +1,8 @@ -package main.java.org.fudaa.dodico.crue.IO.fileformat; +package org.fudaa.dodico.crue.IO.fileformat; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoFactoryCommom; -import main.java.org.fudaa.dodico.crue.dao.validatorXML.ValidatorXml; +import org.fudaa.dodico.crue.dao.CrueDaoFactoryCommom; +import org.fudaa.dodico.crue.dao.validatorXml.ValidatorXml; + /** * File format du fichier ETU. * Permet de distinguer ce fichier des autres. Property changes on: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/common ___________________________________________________________________ Added: svn:mergeinfo + Added: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/common/CruePreferences.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/common/CruePreferences.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/common/CruePreferences.java 2009-03-27 08:18:28 UTC (rev 4576) @@ -0,0 +1,30 @@ +package org.fudaa.dodico.crue.common; + +import org.fudaa.fudaa.commun.FudaaPreferencesAbstract; +/** + * Preferences pour crue. + * @author Adrien Hadoux + * + */ +public class CruePreferences extends FudaaPreferencesAbstract { + public static final String KEY_SERVEUR_PREFIXE = "serveur"; + public static final String KEY_SERVEUR_SHOW_LOG = "serveur.log"; + public static final String KEY_CODE_ID = "crue.code.id"; + + + + /** + * Singleton. + */ + public final static CruePreferences Crue = new CruePreferences(); + + private CruePreferences() { + super(); + } + + @Override + public void applyOn(final Object _o) { + + } +} + Added: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/common/CrueRessource.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/common/CrueRessource.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/common/CrueRessource.java 2009-03-27 08:18:28 UTC (rev 4576) @@ -0,0 +1,76 @@ +package org.fudaa.dodico.crue.common; + +import org.fudaa.ebli.ressource.EbliResource; + +import org.fudaa.fudaa.ressource.FudaaResource; + +import com.memoire.bu.BuIcon; +import com.memoire.bu.BuResource; + +/** + * Ressources crue. + * + * @author Adrien Hadoux + * + */ +public class CrueRessource extends FudaaResource { + + public final static CrueRessource CRUE = new CrueRessource(BuResource.BU); + public final static String SOFTWARE_ID="Crue"; + private CrueRessource(final BuResource _b) { + super(_b); + } + + public static String getS(final String _s) { + return EbliResource.EBLI.getString(_s); + } + + public static String getS(final String _s, final String _v0) { + return EbliResource.EBLI.getString(_s, _v0); + } + + public static String getS(final String _s, final String _v0, + final String _v1) { + return EbliResource.EBLI.getString(_s, _v0, _v1); + } + + public static BuIcon getMeshIcon() { + return EbliResource.EBLI.getIcon("crue"); + } + + public static BuIcon getLogo() { + return EbliResource.EBLI.getIcon("logo-crue"); + } + + public BuIcon getIcon(String val) { + return EbliResource.EBLI.getIcon(val); + } +// public static String getMeshName() { +// return CrueRessource.getS("Meshview"); +// } + + public static BuIcon getSupervisorIcon() { + return EbliResource.EBLI.getIcon("crystal16_browser.png"); + } + + public static BuIcon getCrueIcon() { + return EbliResource.EBLI.getIcon("aproposde_32.gif"); + } + + public static BuIcon getScopIcon() { + return EbliResource.EBLI.getIcon("curves"); + } + + public static String getCrueName() { + return CrueRessource.getS("Crue"); + } + + public static String getEditorName() { + return CrueRessource.getS("Editeur"); + } + + public static BuIcon getEditorIcon(){ + return EbliResource.EBLI.getIcon("texte"); + } + +} Property changes on: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao ___________________________________________________________________ Added: svn:mergeinfo + Added: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java 2009-03-27 08:18:28 UTC (rev 4576) @@ -0,0 +1,154 @@ +package org.fudaa.dodico.crue.dao; + +import java.util.Date; +import java.util.List; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.common.CrueRessource; +import org.fudaa.dodico.crue.metier.emh.PtProfil; + + + +/** + * Plusieurs m\xE9thodes et classes communes utilis\xE9es pour les factory. + * @author Adrien Hadoux + * + */ +public class CrueDaoFactoryCommom { + + public static String VersionCrue="0.0"; + public static String Commentaire="Genere par Fudaa le "+new Date(System.currentTimeMillis()); + + //-- listing des diff\xE9rents fichiers et leur noms utilis\xE9s --// + public static String ETU="ETU"; + + public static String DRSO="DRSO"; + public static String ORES="ORES"; + public static String OCAL="OCAL"; + public static String PCAL="PCAL"; + public static String DCLM="DCLM"; + public static String DLHY="DLHY"; + public static String OPTR="OPTR"; + public static String OPTG="OPTG"; + public static String OPTI="OPTI"; + public static String PNUM="PNUM"; + public static String DPTI="DPTI"; + public static String DCSP="DCSP"; + public static String DPTG="DPTG"; + public static String DFRT="DFRT"; + public static String DC="DC"; + public static String DH="DH"; + + + //-- fichiers de resultats --// + public static String FICHIERRESULTAT="RESULTAT"; + + public static String RPTR="RPTR"; + public static String RPTG="RPTG"; + public static String RPTI="RPTI"; + public static String RCAL="RCAL"; + + + + + + /** + * Construit un ptProfil a partir d'une chaine de caracteres. + * Utilis\xE9 pour DPTG + * @param buff + * @param listeMessageError + * @param nameError + * @return + */ + public static PtProfil createFormString(StringBuffer buff,CtuluAnalyze analyser,String nameError ){ + int indiceCesure=buff.lastIndexOf(" "); + String val1=buff.substring(0, indiceCesure); + String val2=buff.substring(indiceCesure+1, buff.length()); + double x=0; + try{ + x=Double.parseDouble(val1); + + }catch(NumberFormatException e){ + analyser.addInfo(CrueRessource.getS("Profil: "+nameError+": impossible de r\xE9cup\xE9rer la lim debut du contenu: "+buff)); + } + double y=0; + try{ + y=Double.parseDouble(val2); + }catch(NumberFormatException e){ + analyser.addInfo(CrueRessource.getS("Profil: "+nameError+": impossible de r\xE9cup\xE9rer la lim debut du contenu: "+buff)); + } + + PtProfil profil=new PtProfil(x,y); + return profil; + } + public static PtProfil createFormString(String buff,CtuluAnalyze analyser,String nameError ){ + return createFormString(new StringBuffer(buff), analyser, nameError); + } + + + /** + * Message qui indique la balise n'est pas reconnue par les structures de donn\xE9es EMH. + * @param balise + * @param nomRef + * @return + */ + public static String unknowEMH(String balise,String nomEMH){ + return CrueRessource.getS(balise+": Il n'existe pas de structure de donn\xE9e EMH pour l'objet "+nomEMH); + } + + + public static String unknowdataFromFile(String balise,String FileType,String nomEMH){ + return CrueRessource.getS(balise+": Il n'existe pas de structure de donn\xE9e "+FileType+" pour l'objet "+nomEMH); + } + + /** + * Message qui indique la balise n'est pas reconnue par les structures de donn\xE9es EMH. + * @param balise + * @param nomRef + * @return + */ + public static String unknowReference(String balise,String nomRef){ + return CrueRessource.getS(balise+": Impossible de trouver "+balise+" de r\xE9f\xE9rence "+nomRef); + + } + + /** + * Envoie un message formatt\xE9 pour une erreur de doublons d'id + * @param balise + * @param nomRef + * @return + */ + public static String errorIdNonUnique(String balise,String nomRef){ + return CrueRessource.getS("<"+balise+">: l'id "+nomRef+" est en doublon, il ne sera donc pas "); + + } + + + public static String messageBaliseError(String balise,String message){ + return CrueRessource.getS(balise+": "+message); + + } + + + /** + * Message qui indique la balise n'est pas reconnue par les structures de donn\xE9es EMH. + * @param balise + * @param nomRef + * @return + */ + public static String listEmpty(String balise){ + return CrueRessource.getS("Sections <"+balise+">: la liste est vide."); + + } + + public static String emhEmpty(String balise){ + return CrueRessource.getS("EMH: Aucune donn\xE9es EMH trouv\xE9e pour <"+balise+">."); + + } + + + + + + +} Added: branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoFactoryDCSP.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoFactoryDCSP.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico-crue/src/org/fudaa/dodico/crue/dao/CrueDaoFactoryDCSP.java 2009-03-27 08:18:28 UTC (rev 4576) @@ -0,0 +1,641 @@ +package org.fudaa.dodico.crue.dao; + +import java.util.ArrayList; +import java.util.List; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.common.CrueRessource; +import org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatDCSP.*; +import org.fudaa.dodico.crue.metier.emh.CatEMHBranche; +import org.fudaa.dodico.crue.metier.emh.CatEMHSection; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrt; +import org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBarrageFilEau; +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.DonCalcSansPrtSection; +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.EMHBrancheBarrageRhone; +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.EMHBrancheSeuilLongitudinale; +import org.fudaa.dodico.crue.metier.emh.EMHBrancheSeuilTransversal; +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.ElemSeuilAvecPdc; +import org.fudaa.dodico.crue.metier.emh.Loi; + + + + +/** + * Factory qui se charge de remplir les structures DAO du ficheir DCSP avec les donn\xE9es m\xE9tier et inversement. + * @author Adrien Hadoux + * + */ +public class CrueDaoFactoryDCSP { + + public static int cptEntries=1; + + /** + * Remplit completement la structure persistante a partir des objets DSCP. + * + * Optimise le remplissage en listante les donn\xE9es emh une seule fois et en forwardant les objets aux bons endroits + * + * @param persistance + * @param data + * @param listeMessageError + */ + public static void remplirPersistanceDCSP(CrueDaoPersistDCSP persistance,List<EMH> data,CtuluAnalyze analyser){ + + persistance.Sections=new ArrayList<SectionBrancheAbstract>(); + persistance.Branches=new ArrayList<BrancheAbstract>(); + + + //CrueDaoFactoryDCSP.remplirPersistanceAvecBrancheDSCP(persistance.Branches,data,listeMessageError); + + if(data==null || data.size()==0){ + analyser.addError(CrueDaoFactoryCommom.emhEmpty(CrueDaoFactoryCommom.DCSP),cptEntries++); + }else + for(EMH emh:data ){ + if(emh instanceof CatEMHBranche){ + //-- remplissage des sections de branches --// + CatEMHBranche branche=(CatEMHBranche) emh; + + List<DonCalcSansPrt> listeDoncalc=branche.getDSCP(); + for(DonCalcSansPrt dataCalc:listeDoncalc){ + if(dataCalc!=null ){ + CrueDaoFactoryDCSP.remplirPersistanceAvecBrancheDSCP(persistance.Branches,branche,dataCalc,analyser); + }else{ + analyser.addError(CrueDaoFactoryCommom.unknowdataFromFile("Branches", CrueDaoFactoryCommom.DCSP, branche.getNom()),cptEntries++); + } + } + + }else if(emh instanceof CatEMHSection){ + CatEMHSection section=(CatEMHSection) emh; + List<DonCalcSansPrt> listeDoncalc=section.getDSCP(); + for(DonCalcSansPrt dataCalc:listeDoncalc){ + if(dataCalc!=null && dataCalc instanceof DonCalcSansPrtSection){ + //-- remplissage des sections --// + remplirPersistanceAvecSectionsBrancheDSCP(persistance.Sections, section,(DonCalcSansPrtSection)dataCalc, analyser); + + }else{ + analyser.addError(CrueDaoFactoryCommom.unknowdataFromFile("Section", CrueDaoFactoryCommom.DCSP, section.getNom()),cptEntries++); + } + + + } + + + } + + + + } + + } + + /** + * Remplit completement la structure metier a partir des objets persistants DSCP. + * + * Optimise le remplissage en listante les donn\xE9es emh une seule fois et en forwardant les objets aux bons endroits + * + * @param persistance + * @param data + * @param analyser + */ + public static void remplirMetierDCSP(CrueDaoPersistDCSP persistance,List<EMH> data,CtuluAnalyze analyser){ + + + //-- remplissage des branches --// + CrueDaoFactoryDCSP.remplirBrancheAvecPersistanceDSCP(persistance.Branches, data,analyser); + + + + + + //-- remplissage des sections --// + CrueDaoFactoryDCSP.remplirSectionsAvecPersistanceDSCP(persistance.Sections, data, analyser); + + } + + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent le fichier fichier DSCP: les Branches. + * @param data + * @return + */ + public static void remplirPersistanceAvecBrancheDSCP(List<BrancheAbstract> listePersistante,CatEMHBranche branche,DonCalcSansPrt dataCalc,CtuluAnalyze analyser){ + String suffixe=CrueDaoPersistDRSO.SUFFIXE_REF_DRSO; + BrancheAbstract branchePersist=null; + if (branche instanceof EMHBrancheBarrageFilEau) { + EMHBrancheBarrageFilEau new_name = (EMHBrancheBarrageFilEau) branche; + branchePersist=new BrancheBarrageFilEau(); + + if( dataCalc instanceof DonCalcSansPrtBarrageFilEau){ + BrancheBarrageFilEau br=(BrancheBarrageFilEau)branchePersist; + + //-- recuperation de la formule --// + if(((DonCalcSansPrtBarrageFilEau)dataCalc).getRegimeDenove_Zam()!=null) + br.Loi=((DonCalcSansPrtBarrageFilEau)dataCalc).getRegimeDenove_Zam().getNom(); + br.QLimInf=((DonCalcSansPrtBarrageFilEau)dataCalc).getQLimInf(); + br.QLimSup=((DonCalcSansPrtBarrageFilEau)dataCalc).getQLimSup(); + //-- on remplit la liste des elements seuils --// + + br.ElemSeuils=remplirPersistanceAvecSeuilsBarragesDSCP(((DonCalcSansPrtBarrageFilEau)dataCalc).getListElt()); + + }else{ + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche barrage Fil d'eau) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); + } + + + }else if (branche instanceof EMHBrancheBarrageGenerique) { + EMHBrancheBarrageGenerique new_name = (EMHBrancheBarrageGenerique) branche; + branchePersist=new BrancheBarrageGenerique(); + //-- recuperation de la donnee de calcul de la branche --// + if( dataCalc instanceof DonCalcSansPrtBarrageFilEau){ + BrancheBarrageGenerique br=(BrancheBarrageGenerique)branchePersist; + + //-- recuperation de la formule --// + if(((DonCalcSansPrtBarrageFilEau)dataCalc).getRegimeDenove_Zam()!=null) + br.Loi=((DonCalcSansPrtBarrageFilEau)dataCalc).getRegimeDenove_Zam().getNom(); + br.QLimInf=((DonCalcSansPrtBarrageFilEau)dataCalc).getQLimInf(); + br.QLimSup=((DonCalcSansPrtBarrageFilEau)dataCalc).getQLimSup(); + //-- on remplit la liste des elements seuils --// + + br.ElemSeuils=remplirPersistanceAvecSeuilsBarragesDSCP(((DonCalcSansPrtBarrageFilEau)dataCalc).getListElt()); + + }else{ + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche barrage Generique) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); + } + + + }else if (branche instanceof EMHBrancheBarrageRhone) { + EMHBrancheBarrageRhone new_name = (EMHBrancheBarrageRhone) branche; + branchePersist=new BrancheBarrageRhone(); + //-- recuperation de la donnee de calcul de la branche --// + + if( dataCalc instanceof DonCalcSansPrtBarrageFilEau){ + BrancheBarrageRhone br=(BrancheBarrageRhone)branchePersist; + + //-- recuperation de la formule --// + if(((DonCalcSansPrtBarrageFilEau)dataCalc).getRegimeDenove_Zam()!=null) + br.Loi=((DonCalcSansPrtBarrageFilEau)dataCalc).getRegimeDenove_Zam().getNom(); + br.QLimInf=((DonCalcSansPrtBarrageFilEau)dataCalc).getQLimInf(); + br.QLimSup=((DonCalcSansPrtBarrageFilEau)dataCalc).getQLimSup(); + //-- on remplit la liste des elements seuils --// + + br.ElemSeuils=remplirPersistanceAvecSeuilsBarragesDSCP(((DonCalcSansPrtBarrageFilEau)dataCalc).getListElt()); + + }else{ + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche barrage Rhone) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); + } + + + } + // else if (branche instanceof EMHBrancheBarrageRhone) { + // EMHBrancheBarrageRhone new_name = (EMHBrancheBarrageRhone) branche; + // branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheBarrageRhone(); + // } + // else if (branche instanceof EMHBrancheEnchainement) { + // EMHBrancheEnchainement new_name = (EMHBrancheEnchainement) branche; + // branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheEnchainement(); + // }else if (branche instanceof EMHBrancheNiveauxAssocies) { + // EMHBrancheNiveauxAssocies new_name = (EMHBrancheNiveauxAssocies) branche; + // branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheNiveauxAssocies(); + // } + else if (branche instanceof EMHBrancheOrifice) { + + branchePersist=new BrancheOrifice(); + + //-- recuperation de la donnee de calcul de la branche --// + + if( dataCalc instanceof DonCalcSansPrtBrancheOrifice){ + BrancheOrifice br=(BrancheOrifice)branchePersist; + + //-- recuperation de la formule --// + br.FormulePdc=((DonCalcSansPrtBrancheOrifice)dataCalc).getFormulePdc(); + //-- on remplit la liste des elements seuils --// + br.ElemOrifices =remplirPersistanceAvecOrificesSeuilsDSCP(((DonCalcSansPrtBrancheOrifice)dataCalc).getElement()); + }else{ + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche Orifice) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); + } + + + }else if (branche instanceof EMHBranchePdc) { + EMHBranchePdc new_name = (EMHBranchePdc) branche; + branchePersist=new BranchePdc(); + + //-- recuperation de la donnee de calcul de la branche --// + + + if( dataCalc instanceof DonCalcSansPrtBranchePDC){ + BranchePdc br=(BranchePdc)branchePersist; + + //-- recuperation de la formule --// + if(((DonCalcSansPrtBranchePDC)dataCalc).getPdc_DZ()!=null) + br.Loi=((DonCalcSansPrtBranchePDC)dataCalc).getPdc_DZ().getNom(); + + }else{ + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche seuil Longitudinal) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); + } + + + + }else if (branche instanceof EMHBrancheSaintVenant) { + EMHBrancheSaintVenant new_name = (EMHBrancheSaintVenant) branche; + branchePersist=new BrancheSaintVenant(); + //-- recuperation de la donnee de calcul de la branche --// + + + if( dataCalc instanceof DonCalcSansPrtBrancheSaintVenant){ + BrancheClassiqueAbstract br=(BrancheClassiqueAbstract)branchePersist; + + br.CoefBeta=((DonCalcSansPrtBrancheSaintVenant)dataCalc).getCoeffBeta(); + br.CoefRuis=((DonCalcSansPrtBrancheSaintVenant)dataCalc).getCoefRuis(); + br.CoefRuisQdm=((DonCalcSansPrtBrancheSaintVenant)dataCalc).getCoeffRuisQdm(); + + // //-- remplissage des sections de branches --// + // br.Sections=remplirPersistanceAvecSectionsBrancheDSCP( branche.getListeSections(), analyser); + }else{ + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche SaintVenant) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); + } + + + + }else if (branche instanceof EMHBrancheSeuilLongitudinale) { + EMHBrancheSeuilLongitudinale new_name = (EMHBrancheSeuilLongitudinale) branche; + branchePersist=new BrancheSeuilLateral(); + + //-- recuperation de la donnee de calcul de la branche --// + + + if( dataCalc instanceof DonCalcSansPrtBrancheSeuilLateral){ + BrancheSeuilLateral br=(BrancheSeuilLateral)branchePersist; + + //-- recuperation de la formule --// + br.FormulePdc=((DonCalcSansPrtBrancheSeuilLateral)dataCalc).getFormulePdc(); + //-- on remplit la liste des elements seuils --// + br.ElemSeuils=remplirPersistanceAvecSeuilsDSCP(((DonCalcSansPrtBrancheSeuilLateral)dataCalc).getListElt()); + + }else{ + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche seuil Longitudinal) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); + } + + + }else if (branche instanceof EMHBrancheSeuilTransversal) { + EMHBrancheSeuilTransversal new_name = (EMHBrancheSeuilTransversal) branche; + branchePersist=new BrancheSeuilTransversal(); + + //-- recuperation de la donnee de calcul de la branche --// + + if( dataCalc instanceof DonCalcSansPrtBrancheSeuilTransversal){ + BrancheSeuilTransversal br=(BrancheSeuilTransversal)branchePersist; + //-- recuperation de la formule --// + br.FormulePdc=((DonCalcSansPrtBrancheSeuilTransversal)dataCalc).getFormulePdc(); + //-- on remplit la liste des elements seuils --// + br.ElemSeuils=remplirPersistanceAvecSeuilsDSCP(((DonCalcSansPrtBrancheSeuilTransversal)dataCalc).getListElt()); + }else{ + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche seuil transversal) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); + } + + + + } + // else if (branche instanceof EMHBrancheStrickler) { + // EMHBrancheStrickler new_name = (EMHBrancheStrickler) branche; + // branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheStrickler(); + // } + + if(branchePersist!=null){ + branchePersist.NomRef=suffixe+branche.getNom(); + + + + listePersistante.add(branchePersist); + }else{ + analyser.addError(CrueDaoFactoryCommom.unknowEMH("Branche", branche.getNom()),cptEntries++); + } + + + + + + } + + + + + + /** + * Genere une liste d'elements seuils persistante a partir de la liste m\xE9tier lue. + * @param listeEltSeuilsPersist + * @return + */ + public static List<ElemSeuilPdc> remplirPersistanceAvecSeuilsDSCP(List<ElemSeuilAvecPdc> listeEltSeuilsEMH){ + List<ElemSeuilPdc> listeSeuilsPersist=new ArrayList<ElemSeuilPdc>(); + for(ElemSeuilAvecPdc seuilMetier:listeEltSeuilsEMH ){ + ElemSeuilPdc seuilPersist=new ElemSeuilPdc(); + seuilPersist.CoefD=seuilMetier.getCoeffD(); + seuilPersist.CoefPdc=seuilMetier.getCoeffPdc(); + seuilPersist.Larg=seuilMetier.getLarg(); + seuilPersist.Zseuil=seuilMetier.getZSeuil(); + + listeSeuilsPersist.add(seuilPersist); + } + + return listeSeuilsPersist; + } + + /** + * Genere une liste d'elements seuils persistante a partir de la liste m\xE9tier lue. + * @param listeEltSeuilsPersist + * @return + */ + public static List<ElemSeuil> remplirPersistanceAvecSeuilsBarragesDSCP(List<org.fudaa.dodico.crue.metier.emh.ElemSeuil> listeEltSeuilsEMH){ + List<ElemSeuil> listeSeuilsPersist=new ArrayList<ElemSeuil>(); + for(org.fudaa.dodico.crue.metier.emh.ElemSeuil seuilMetier:listeEltSeuilsEMH ){ + ElemSeuil seuilPersist=new ElemSeuil(); + seuilPersist.CoefD=seuilMetier.getCoeffD(); + + seuilPersist.Larg=seuilMetier.getLarg(); + seuilPersist.Zseuil=seuilMetier.getZSeuil(); + + listeSeuilsPersist.add(seuilPersist); + } + + return listeSeuilsPersist; + } + + /** + * Genere une liste d'elements seuils persistante a partir de la liste metier lue. + * @param listeEltSeuilsPersist + * @return + */ + public static List<ElemSeuilOrifice> remplirPersistanceAvecOrificesSeuilsDSCP(List<org.fudaa.dodico.crue.metier.emh.ElemOrifice> listeEMhSeuils ){ + List<ElemSeuilOrifice> listeEltSeuilsPersist=new ArrayList<ElemSeuilOrifice>(); + for(org.fudaa.dodico.crue.metier.emh.ElemOrifice seuilMetier :listeEMhSeuils ){ + ElemSeuilOrifice seuilPersist=new ElemSeuilOrifice(); + seuilPersist.CoefD=seuilMetier.getCoeffQ(); + seuilPersist.Larg=seuilMetier.getLarg(); + seuilPersist.Zseuil=seuilMetier.getZSeuil(); + + seuilPersist.CoefCtrLim=seuilMetier.getCoeffCtrLim(); + seuilPersist.Sens=seuilMetier.getSens(); + + listeEltSeuilsPersist.add(seuilPersist); + } + + return listeEltSeuilsPersist; + } + + /** + * Methode qui remplit une arrayList d'objets persistants Sections qui sont contenues dans une branche: concerne le fichier fichier DSCP: les Branches. + * @param data + * @return + */ + public static void remplirPersistanceAvecSectionsBrancheDSCP(List<SectionBrancheAbstract> listePersistante,CatEMHSection section,DonCalcSansPrtSection prtSection,CtuluAnalyze analyser){ + + + SectionBrancheAbstract sectionPersist=null; + if(section instanceof EMHSectionIdem){ + sectionPersist=new SectionIdem(); + }else + if(section instanceof EMHSectionInterpolee){ + sectionPersist=new SectionInterpolee(); + }else + if(section instanceof EMHSectionProfil){ + sectionPersist=new SectionProfil(); + }else + if(section instanceof EMHSectionSansGeometrie){ + sectionPersist=new SectionSansGeometrie(); + } + + + + if(section.getDataCalcul()!=null){ + sectionPersist.NomRef=CrueDaoPersistDRSO.SUFFIXE_REF_DRSO+section.getNom(); + sectionPersist.CoefConv=prtSection.getCoeffConv(); + sectionPersist.CoefDiv=prtSection.getCoeffDiv(); + sectionPersist.CoefPond=prtSection.getCoeffPond(); + } + + listePersistante.add(sectionPersist); + +} + + + + +/** + * Methode qui met a jour les objets m\xE9tier EMH branches a partir des donn\xE9es persistantes de DPTI et les pr\xE9chargements de DRSO + * @param data + * @return + */ +public static void remplirBrancheAvecPersistanceDSCP(List<BrancheAbstract> listePersistants,List<EMH> data,CtuluAnalyze analyser ){ + if(listePersistants==null || listePersistants.size()==0){ + analyser.addError(CrueRessource.getS("Branches: la liste est vide."),cptEntries++); + }else + for(Object persist:listePersistants ){ + if(persist instanceof BrancheAbstract){ + BrancheAbstract branchePersist=(BrancheAbstract) persist; + String reference=branchePersist.NomRef; + if(reference.contains(CrueDaoPersistDRSO.SUFFIXE_REF_DRSO)){ + reference=reference.replace(CrueDaoPersistDRSO.SUFFIXE_REF_DRSO,""); + } + CatEMHBranche branche=CatEMHBranche.findByReference(reference, data); + if(branche==null){ + analyser.addError(CrueRessource.getS("Branche : Impossible de trouver la branche de r\xE9f\xE9rence "+reference),cptEntries++); + }else{ + if(branchePersist instanceof BrancheClassiqueAbstract){ + BrancheClassiqueAbstract br=(BrancheClassiqueAbstract)branchePersist; + DonCalcSansPrtBrancheSaintVenant dataCalcul=new DonCalcSansPrtBrancheSaintVenant(); + dataCalcul.setCoeffBeta(br.CoefBeta); + dataCalcul.setCoefRuis(br.CoefRuis); + dataCalcul.setCoeffRuisQdm(br.CoefRuisQdm); + branche.addDSCP(dataCalcul); + //-- remplissage des sections --// + // remplirSectionsAvecPersistanceDSCP(br.Sections, branche, analyser); + } + //-- branche seuil --// + else if(branchePersist instanceof BrancheSeuilAbstract){ + BrancheSeuilAbstract br=(BrancheSeuilAbstract)branchePersist; + + if((branche instanceof EMHBrancheSeuilLongitudinale) ){ + DonCalcSansPrtBrancheSeuilLateral dataCalcul=new DonCalcSansPrtBrancheSeuilLateral(); + + //-- recuperation de la formule --// + dataCalcul.setFormulePdc(br.FormulePdc); + //-- on remplit la liste des elements seuils --// + dataCalcul.setListElt(remplirSeuilsAvecPersistanceDSCP(br.ElemSeuils)); + branche.addDSCP(dataCalcul); + } + else if( (branche instanceof EMHBrancheSeuilTransversal)){ + DonCalcSansPrtBrancheSeuilTransversal dataCalcul=new DonCalcSansPrtBrancheSeuilTransversal(); + + //-- recuperation ... [truncated message content] |
From: <had...@us...> - 2009-03-27 08:54:11
|
Revision: 4580 http://fudaa.svn.sourceforge.net/fudaa/?rev=4580&view=rev Author: hadouxad Date: 2009-03-27 08:54:08 +0000 (Fri, 27 Mar 2009) Log Message: ----------- Refactorisation de Crue en 2 sous projet Fudaa et Dodico Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/.classpath Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/ressources/ Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/.classpath =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/.classpath 2009-03-27 08:53:52 UTC (rev 4579) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/.classpath 2009-03-27 08:54:08 UTC (rev 4580) @@ -37,5 +37,6 @@ <classpathentry combineaccessrules="false" kind="src" path="/ctulu"/> <classpathentry combineaccessrules="false" kind="src" path="/ebli"/> <classpathentry combineaccessrules="false" kind="src" path="/fudaa"/> + <classpathentry combineaccessrules="false" kind="src" path="/dodico-crue"/> <classpathentry kind="output" path="target/classes"/> </classpath> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2009-03-27 08:54:02
|
Revision: 4579 http://fudaa.svn.sourceforge.net/fudaa/?rev=4579&view=rev Author: hadouxad Date: 2009-03-27 08:53:52 +0000 (Fri, 27 Mar 2009) Log Message: ----------- Refactorisation de Crue en 2 sous projet Fudaa et Dodico Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/AppCrueTest.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/MainTest.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestClasse.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDCSPFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDFRTFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDPTGFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDPTIFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDRSOFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueETU.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueImplementation.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueOPTGFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/componentTestClasse.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/testXsd.java Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/AppCrueTest.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/AppCrueTest.java 2009-03-27 08:53:17 UTC (rev 4578) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/AppCrueTest.java 2009-03-27 08:53:52 UTC (rev 4579) @@ -1,412 +0,0 @@ -package test.java.org.fudaa.fudaa.crue; - -import java.awt.BorderLayout; -import java.awt.GridLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import javax.swing.BorderFactory; -import javax.swing.DefaultComboBoxModel; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JFileChooser; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JTabbedPane; -import javax.swing.JTextField; - -import main.java.org.fudaa.dodico.crue.commun.CrueRessource; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoFactoryCommom; -import main.java.org.fudaa.dodico.crue.dao.validatorXML.ValidatorXml; -import main.java.org.fudaa.fudaa.crue.CruePersistanceErrorManager; - -import org.fudaa.ctulu.CtuluAnalyze; -import org.fudaa.ctulu.gui.CtuluDialogPanel; -import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; - -import com.anotherbigidea.flash.movie.Frame; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * Des methodes poru aider dans les tests - */ -public class AppCrueTest{ - - /** - * repertoire de test pour les fichiers crue x. - */ - public static String pathRepertoireTest="C:"+File.separator+"Documents and Settings"+File.separator+"crevettemarmotte"+File.separator+"Bureau"+File.separator+"DATA CNR";//".."+File.separator+"Fichiers_donnees_Crue"+File.separator+"testSave"; - - /** - * Chemin d'acc\xE8s au fichier ETU pour les test unitaires le concernant. - */ - public static String pathFichierETU="C:"+File.separator+"Documents and Settings"+File.separator+"genesis"+File.separator+"Bureau"+File.separator+"DATA CNR";//".."+File.separator+"Fichiers_donnees_Crue"+File.separator+"testSave"; - - /** - * Specifie le repertoire de test ansq lequel seront sauvegard\xE9 et charg\xE9s les fichiers . - */ - public static void getRepertoireTest(){ - - JTextField field=new JTextField(50); - field.setText(pathRepertoireTest); - - CtuluDialogPanel panel=new CtuluDialogPanel(); - panel.add(field); - java.awt.Frame parent=null; - int reponse=panel.afficheModale(parent,"R\xE9pertoire de test:"); - - if(reponse==JOptionPane.OK_OPTION){ - String newPath=field.getText(); - - pathRepertoireTest= newPath; - } - - } - - /** - * ouvre un chooser pour choisir le fichier - * @return - */ - public static File getEmplacementFichier(File f){ - - JFileChooser chooser=new JFileChooser(f); - int reponse=chooser.showOpenDialog(null); - - if(reponse==JFileChooser.APPROVE_OPTION){ - return chooser.getSelectedFile(); - - } - return null; - - } - - /** - * Genere une interface graphique qui permet de tester les ficheirs xml. - * - * @param isPanelValidationXml - * @param isPanelLectureFichierXML - * @param isPanelExempleFichier - */ - public static void constructIHMTest(String nomtest,boolean isPanelValidationXml,boolean isPanelLectureFichierXML,boolean isPanelExempleFichier){ - - JTabbedPane pane=new JTabbedPane(); - - if(isPanelExempleFichier){ - pane.addTab("Exemples", getIHMExemple()); - } - if(isPanelValidationXml){ - pane.addTab("Validation XSD", getIHMValidationXML()); - } - if(isPanelLectureFichierXML){ - pane.addTab("Lecture/Ecriture Fichier", getIHMLectureEcritureXML()); - } - - JFrame frame=new JFrame(nomtest); - frame.setSize(600,300); - frame.setContentPane(pane); - frame.setVisible(true); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } - - - /** - * Construit l'iHM qui g\xE9n\xE8re des fichiers d'exemple. - */ - public static JPanel getIHMExemple(){ - JPanel panel=new JPanel(); - - final HashMap<String, TestCrueImplementation> mapExemples=new HashMap<String, TestCrueImplementation>(); - mapExemples.put("ETU",new TestCrueETU()); - mapExemples.put("DRSO",new TestCrueDRSOFile()); - mapExemples.put("DCSP",new TestCrueDCSPFile()); - mapExemples.put("DFRT",new TestCrueDFRTFile()); - mapExemples.put("DPTG",new TestCrueDPTGFile()); - mapExemples.put("DPTI",new TestCrueDPTIFile()); - mapExemples.put("OPTG",new TestCrueOPTGFile()); - - Set<String> keys=mapExemples.keySet(); - final JComboBox combo=new JComboBox(keys.toArray()); - - ActionListener action=new ActionListener(){ - public void actionPerformed(ActionEvent e) { - String key=(String) combo.getSelectedItem(); - TestCrueImplementation impl=mapExemples.get(key); - impl.execute(); - } - }; - - combo.addActionListener(action); - - JPanel pane=new JPanel(); - pane.add(combo); - - panel.setBorder(BorderFactory.createTitledBorder("Executer exemple")); - panel.setLayout(new BorderLayout()); - panel.add(pane,BorderLayout.CENTER); - panel.add(new JLabel("<html><body>Executer un exemple avec des donn\xE9es m\xE9tier pr\xE9d\xE9finies.<br /> Des fichiers exemples seront g\xE9n\xE9r\xE9s \xE0 l'emplacement sp\xE9cifi\xE9 ult\xE9rieurement.</body> </html>"),BorderLayout.NORTH); - return panel; - - - } - - - - /** - * Construit l'iHM qui g\xE9n\xE8re des fichiers d'exemple. - */ - public static JPanel getIHMValidationXML(){ - JPanel panel=new JPanel(); - - //-- gestion fichier --// - - final JTextField field=new JTextField(30); - - JButton choisirFichier=new JButton("Parcourir..."); - - choisirFichier.addActionListener(new ActionListener(){ - - public void actionPerformed(ActionEvent e) { - File fichiertovalidate=getEmplacementFichier(null); - if(fichiertovalidate!=null){ - field.setText(fichiertovalidate.getAbsolutePath()); - } - } - - }); - - //-- gestion combo --// - final HashMap<String, String> mapValidation=new HashMap<String, String>(); - mapValidation.put("ETU",ValidatorXml.xsdETU); - mapValidation.put("DRSO",ValidatorXml.xsdDRSO); - mapValidation.put("DCSP",ValidatorXml.xsdDCSP); - mapValidation.put("DFRT",ValidatorXml.xsdDFRT); - mapValidation.put("DPTG",ValidatorXml.xsdDPTG); - mapValidation.put("DPTI",ValidatorXml.xsdDPTI); - mapValidation.put("OPTG",ValidatorXml.xsdOPTG); - - Set<String> keys=mapValidation.keySet(); - final JComboBox combo=new JComboBox(keys.toArray()); - - - - //-- gestion controles --// - ActionListener action=new ActionListener(){ - public void actionPerformed(ActionEvent e) { - String key=(String) combo.getSelectedItem(); - String validateur=mapValidation.get(key); - - CtuluAnalyze listeMessageError=new CtuluAnalyze(); - File fichiertovalidate=new File(field.getText()); - listeMessageError.setDesc(CrueRessource.getS(" Analyse du Fichier "+fichiertovalidate.getName())); - - if(!ValidatorXml.validXMLWithDOM(fichiertovalidate.getAbsolutePath(), validateur, listeMessageError) ){ - listeMessageError.addWarn(CrueRessource.getS("Fichier "+fichiertovalidate.getName()+" non valid\xE9 par la XSD "+validateur),0); - } - - AppCrueTest.getInfosError(listeMessageError); - } - }; - JButton valider=new JButton("Valider"); - - valider.addActionListener(action); - - JPanel pane=new JPanel(); - pane.add(new JLabel("Fichier:")); - pane.add(field); - pane.add(choisirFichier); - pane.add(new JLabel("Validateur:")); - pane.add(combo); - pane.add(valider); - - - panel.setBorder(BorderFactory.createTitledBorder("Executer validation xml")); - panel.setLayout(new BorderLayout()); - panel.add(pane,BorderLayout.CENTER); - panel.add(new JLabel("Executer une validation xml avec xsd sur un fichier choisi"),BorderLayout.NORTH); - return panel; - - - } - - - - - public static JPanel getIHMLectureEcritureXML(){ - JPanel panel=new JPanel(); - - //-- gestion fichier --// - - final JTextField fieldLecture=new JTextField(30); - - JButton choisirFichierLecture=new JButton("Parcourir..."); - - choisirFichierLecture.addActionListener(new ActionListener(){ - - public void actionPerformed(ActionEvent e) { - File fichiertovalidate=getEmplacementFichier(null); - if(fichiertovalidate!=null){ - fieldLecture.setText(fichiertovalidate.getAbsolutePath()); - } - } - - }); - - - final JTextField fieldEcriture=new JTextField(30); - JButton choisirFichierEcriture=new JButton("Parcourir..."); - choisirFichierEcriture.addActionListener(new ActionListener(){ - - public void actionPerformed(ActionEvent e) { - File fichiertovalidate=getEmplacementFichier(null); - if(fichiertovalidate!=null){ - fieldEcriture.setText(fichiertovalidate.getAbsolutePath()); - } - } - - }); - - - //-- gestion combo --// - final HashMap<String, TestCrueImplementation> mapLectureEcriture=new HashMap<String, TestCrueImplementation>(); - mapLectureEcriture.put("ETU",new TestCrueETU()); - mapLectureEcriture.put("DRSO",new TestCrueDRSOFile()); - mapLectureEcriture.put("DCSP",new TestCrueDCSPFile()); - mapLectureEcriture.put("DFRT",new TestCrueDFRTFile()); - mapLectureEcriture.put("DPTG",new TestCrueDPTGFile()); - mapLectureEcriture.put("DPTI",new TestCrueDPTIFile()); - mapLectureEcriture.put("OPTG",new TestCrueOPTGFile()); - - Set<String> keys=mapLectureEcriture.keySet(); - final JComboBox combo=new JComboBox(keys.toArray()); - - - - - - //-- gestion controles --// - ActionListener action=new ActionListener(){ - public void actionPerformed(ActionEvent e) { - String key=(String) combo.getSelectedItem(); - - - List<String> listeMessageError=new ArrayList<String>(); - int indiceMsg=listeMessageError.size(); - - File fichiertoRead=new File(fieldLecture.getText()); - File fichiertoWrite=null; - - if(fieldEcriture.getText()!=null) - fichiertoWrite=new File(fieldEcriture.getText()); - - TestCrueImplementation impl=mapLectureEcriture.get(key); - - //-- lecture ecriture --// - impl.readWrite(fichiertoRead, fichiertoWrite); - - - - - } - }; - JButton valider=new JButton("Valider"); - - valider.addActionListener(action); - - JPanel grid=new JPanel(new GridLayout(3,1)); - - JPanel pane=new JPanel(); - pane.add(new JLabel("Fichier a lire :")); - pane.add(fieldLecture); - pane.add(choisirFichierLecture); - - grid.add(pane); - pane=new JPanel(); - pane.add(new JLabel("Fichier a \xE9crire :")); - pane.add(fieldEcriture); - pane.add(choisirFichierEcriture); - grid.add(pane); - pane=new JPanel(); - pane.add(new JLabel("Type:")); - pane.add(combo); - pane.add(valider); - grid.add(pane); - - panel.setBorder(BorderFactory.createTitledBorder("Executer Lecture/ecriture xml")); - panel.setLayout(new BorderLayout()); - panel.add(grid,BorderLayout.CENTER); - panel.add(new JLabel("<html><body>Executer une Lecture/ecriture sur un fichier choisi. <br />Commence par lire et valider le fichier sp\xE9cifi\xE9 en lecture pour en g\xE9n\xE9rer une strucutre m\xE9tier,<br />puis \xE9crit ensuite dans le fichier sp\xE9cifi\xE9 en \xE9criture.</body> </html>"),BorderLayout.NORTH); - return panel; - - - } - - /** - * Affiche une dialog avec les erreurs retourn\xE9es lors de la lecture/ecriture. - * @param listeMessageError - */ - public static void getInfosError( CtuluAnalyze listeMessageError ){ - CruePersistanceErrorManager manager=new CruePersistanceErrorManager(); - manager.setListeMessageError(listeMessageError); - - manager.showDialog(null,"R\xE9sultats"); - } - - public static void ecrireErrorMsg(CtuluAnalyze message){ - - - - - //-- on liste la fatale error si elle existe. --// - if(message.getFatalError()!=null ){ - System.out.println(CrueRessource.getS("Erreur fatale")); - - System.out.println(message.getFatalError().getMessage()); - - - } - - - //-- on liste les warnings XSD --// - if(message.getWarnCanal()!=null && message.getWarnCanal().getFields()!=null && message.getWarnCanal().getFields().length!=0){ - System.out.println(CrueRessource.getS("Validateur XSD n'a pas valid\xE9 le fichier")); - - for(int i=0;i<message.getWarnCanal().getFields().length;i++){ - System.out.println(message.getWarnCanal().getFields()[i].getMessage()); - - } - } - //-- on liste les erreurs de remplissage --// - if(message.getErrorCanal()!=null && message.getErrorCanal().getFields()!=null && message.getErrorCanal().getFields().length!=0){ - System.out.println(CrueRessource.getS("Erreurs dans les I/O structures de donn\xE9es")); - - for(int i=0;i<message.getErrorCanal().getFields().length;i++){ - System.out.println(message.getErrorCanal().getFields()[i].getMessage()); - - } - } - - //-- on liste les informations de remplissage --// - if(message.getInfoCanal()!=null && message.getInfoCanal().getFields()!=null && message.getInfoCanal().getFields().length!=0){ - System.out.println(CrueRessource.getS("Infos supl\xE9mentaires sur les I/O structures de donn\xE9es")); - - for(int i=0;i<message.getInfoCanal().getFields().length;i++){ - System.out.println(message.getInfoCanal().getFields()[i].getMessage()); - - } - } - - } - - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/MainTest.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/MainTest.java 2009-03-27 08:53:17 UTC (rev 4578) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/MainTest.java 2009-03-27 08:53:52 UTC (rev 4579) @@ -1,10 +0,0 @@ -package test.java.org.fudaa.fudaa.crue; - -public class MainTest { - - - public static void main(final String[] _args) { - AppCrueTest.constructIHMTest("Tests lecture/ecriture fichiers", true, true, true); - } - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestClasse.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestClasse.java 2009-03-27 08:53:17 UTC (rev 4578) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestClasse.java 2009-03-27 08:53:52 UTC (rev 4579) @@ -1,21 +0,0 @@ -package test.java.org.fudaa.fudaa.crue; - -/** - * test pour la persistance - * @author Adrien Hadoux - * - */ -public class TestClasse { -public int val; -public String nom; - -public componentTestClasse composant; - -public TestClasse(String nom, int val,String email,double num) { - super(); - this.nom = nom; - this.val = val; - composant=new componentTestClasse(email,num); -} - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDCSPFile.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDCSPFile.java 2009-03-27 08:53:17 UTC (rev 4578) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDCSPFile.java 2009-03-27 08:53:52 UTC (rev 4579) @@ -1,155 +0,0 @@ -package test.java.org.fudaa.fudaa.crue; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import javax.swing.JOptionPane; - -import org.fudaa.ctulu.CtuluAnalyze; - -import junit.framework.TestCase; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDPTI; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDCSP; -import main.java.org.fudaa.dodico.crue.IO.Crue10reader; -import main.java.org.fudaa.dodico.crue.IO.Crue10writer; -import main.java.org.fudaa.dodico.crue.metier.emh.CrueData; -import main.java.org.fudaa.dodico.crue.metier.emh.DonFrt; -import main.java.org.fudaa.dodico.crue.metier.emh.EMH; - -import com.thoughtworks.xstream.XStream; - -public class TestCrueDCSPFile extends TestCase implements TestCrueImplementation{ - - public static boolean makeError=false; - - public void testTOXML(){ - //-- persistance xml --// - CrueData jeuDonnees=remplissageDonneeTest(); - CrueDaoPersistDCSP dataPersistante=new CrueDaoPersistDCSP(); - dataPersistante.fillInfosWith(jeuDonnees.getAllEMH(),new CtuluAnalyze()); - XStream parser=dataPersistante.initXmlParser(); - System.out.println(parser.toXML(dataPersistante)); - } - - - - /** - * on demande pas le path a l'user pour les test junit. - */ - public void testLectureEcriture(){ - makeError=false; - lectureEcritureDSCP(false); - } - - public void testLectureEcritureErreur(){ - makeError=true; - lectureEcritureDSCP(false); - } - - /** - * - * Methode appel\xE9e JUNIT. - */ - public void lectureEcritureDSCP(boolean notAjunitTest) { - - CrueData jeuDonnees=null; - - if(!makeError) - jeuDonnees =remplissageDonneeTest(); - else - jeuDonnees =remplissageDonneeTestErreur(); - - - - - CtuluAnalyze listeMessageError=new CtuluAnalyze(); - int cptFichier=1; - - if(notAjunitTest) - AppCrueTest.getRepertoireTest(); - - File fichierDSCP1=new File(AppCrueTest.pathRepertoireTest+File.separator+"EcritureDSCP"+cptFichier++); - File fichierDRSO1=new File(AppCrueTest.pathRepertoireTest+File.separator+"EcritureDRSO"+cptFichier++); - - //-- persistance xml --// - - - - - //-- ecriture--// - Crue10writer.writeDSCPFile(jeuDonnees.getAllEMH(),fichierDSCP1,listeMessageError ); - Crue10writer.writeDRSOFile(jeuDonnees,fichierDRSO1,listeMessageError ); - //--lecture --// - - //-- on lit dabord le fichier DRSO --// - CrueData jeuDonneesLue= Crue10reader.readDRSOFile(fichierDRSO1,listeMessageError); - //-- on lit dabord le fichier DSCP --// - Crue10reader.readDSCPFile(fichierDSCP1,jeuDonneesLue.getAllEMH(),listeMessageError); - - //-- ecriture de nouveau--// - File fichierDRSO2=new File(AppCrueTest.pathRepertoireTest+File.separator+"EcritureDeLectureDRSO"+cptFichier++); - Crue10writer.writeDRSOFile(jeuDonneesLue,fichierDRSO2,listeMessageError ); - - File fichierDSCP2=new File(AppCrueTest.pathRepertoireTest+File.separator+"EcritureDeLectureDSCP"+cptFichier++); - Crue10writer.writeDSCPFile(jeuDonneesLue.getAllEMH(),fichierDSCP2,listeMessageError ); - - if(notAjunitTest) - AppCrueTest.getInfosError(listeMessageError); - - AppCrueTest.ecrireErrorMsg(listeMessageError); - } - - - /** - * remplit l'ensemble des donn\xE9es pour faire les test. Methode a updgrader et a reutiliser poru centraliser les tests. - * @return - */ - public static CrueData remplissageDonneeTest(){ - return TestCrueDRSOFile.remplissageDonneeTest(); - - } - - - public static CrueData remplissageDonneeTestErreur(){ - return TestCrueDRSOFile.remplissageDonneeTestErreur(); - - } - - public static void main(final String[] _args) { - (new TestCrueDCSPFile()).execute(); - } - public void execute() { - // TODO Auto-generated method stub - lectureEcritureDSCP(true); - } - - public void readWrite(File fichierLecture,File fichierEcriture){ - - CtuluAnalyze listeMessageError=new CtuluAnalyze(); - - JOptionPane.showMessageDialog(null,"DCSP est d\xE9pendant des don\xE9nes de DRSO, veuillez sp\xE9cifier l'emplacement de ce fichier"); - - File fichierDRSO1=AppCrueTest.getEmplacementFichier(null); - - - //--lecture --// - CrueData jeuDonneesLue= Crue10reader.readDRSOFile(fichierDRSO1,listeMessageError); - if(jeuDonneesLue!=null){ - Crue10reader.readDSCPFile(fichierLecture,jeuDonneesLue.getAllEMH(),listeMessageError); - - - - Crue10writer.writeDSCPFile(jeuDonneesLue.getAllEMH(),fichierEcriture,listeMessageError ); - } - else - listeMessageError.addFatalError("Impossible d'\xE9crire le contenu car il n'a pas \xE9t\xE9 correctement lu"); - - AppCrueTest.getInfosError(listeMessageError); - - AppCrueTest.ecrireErrorMsg(listeMessageError); - } - - -} - Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDFRTFile.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDFRTFile.java 2009-03-27 08:53:17 UTC (rev 4578) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDFRTFile.java 2009-03-27 08:53:52 UTC (rev 4579) @@ -1,220 +0,0 @@ -package test.java.org.fudaa.fudaa.crue; - -import java.awt.Point; -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import org.fudaa.ctulu.CtuluAnalyze; -import org.fudaa.ebli.geometrie.GrPoint; - -import junit.framework.TestCase; - -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDFRT; - -import main.java.org.fudaa.dodico.crue.IO.Crue10reader; -import main.java.org.fudaa.dodico.crue.IO.Crue10writer; -import main.java.org.fudaa.dodico.crue.metier.emh.CrueData; -import main.java.org.fudaa.dodico.crue.metier.emh.DonFrt; -import main.java.org.fudaa.dodico.crue.metier.emh.EMH; -import main.java.org.fudaa.dodico.crue.metier.emh.StriRefC; -import main.java.org.fudaa.dodico.crue.metier.emh.StriRefH; -import main.java.org.fudaa.dodico.crue.metier.emh.StriRefZ; - -import com.thoughtworks.xstream.XStream; - -public class TestCrueDFRTFile extends TestCase implements TestCrueImplementation{ - - /** - * A ACTIVER SI ON VEUT FORCER DES ERRORS DANS LE REMPLISSAGE DES DONNEES - * (VALIDATION XSD OU PERTINENCE DES DONNEES...) - */ - public static boolean makeError=false; - - public void testTOXML(){ - //-- persistance xml --// - List<DonFrt> jeuDonnees=remplissageDonneeTest(); - CrueDaoPersistDFRT dataPersistante=new CrueDaoPersistDFRT(); - dataPersistante.fillInfosWith(jeuDonnees,new CtuluAnalyze()); - XStream parser=dataPersistante.initXmlParser(); - System.out.println(parser.toXML(dataPersistante)); - } - - - - /** - * on demande pas le path a l'user pour les test junit. - */ - public void testLectureEcriture(){ - makeError=false; - lectureEcritureDFRT(false); - } - - public void testLectureEcritureErreur(){ - makeError=true; - lectureEcritureDFRT(false); - } - - /** - * - * Methode appel\xE9e JUNIT. - */ - public void lectureEcritureDFRT(boolean notAjunitTest) { - CtuluAnalyze listeMessageError=new CtuluAnalyze(); - - - List<DonFrt> jeuDonnees=null; - - if(!makeError) - jeuDonnees =remplissageDonneeTest(); - else - jeuDonnees =remplissageDonneeTestErreur(); - - int cptFichier=1; - - if(notAjunitTest) - AppCrueTest.getRepertoireTest(); - - File fichierDFRT1=new File(AppCrueTest.pathRepertoireTest+File.separator+"testDFRT"+cptFichier++); - - //-- persistance xml --// - CrueDaoPersistDFRT dataPersistante=new CrueDaoPersistDFRT(); - dataPersistante.fillInfosWith(jeuDonnees,listeMessageError); - XStream parser=dataPersistante.initXmlParser(); - - - - - //-- ecriture--// - Crue10writer.writeDFRTFile(jeuDonnees,fichierDFRT1,listeMessageError ); - //--lecture --// - List<DonFrt> jeuDonneesLue= Crue10reader.readDFRTFile(fichierDFRT1,listeMessageError); - - - - //-- ecriture de nouveau--// - if(jeuDonneesLue!=null){ - File fichierDFRT2=new File(AppCrueTest.pathRepertoireTest+File.separator+"testDFRT"+cptFichier++); - Crue10writer.writeDFRTFile(jeuDonneesLue,fichierDFRT2 ,listeMessageError); - } - if(notAjunitTest) - AppCrueTest.getInfosError(listeMessageError); - } - - - /** - * remplit l'ensemble des donn\xE9es pour faire les test. Methode a updgrader et a reutiliser poru centraliser les tests. - * @return - */ - public static List<DonFrt> remplissageDonneeTest(){ - List<DonFrt> data=new ArrayList<DonFrt>(); - - DonFrt ref1=new StriRefC("ref#stric"); - ref1.addPoint(new GrPoint(10,20,0)); - data.add(ref1); - ref1=new StriRefZ("rsdfsf"); - ref1.addPoint(new GrPoint(12,23,0)); - ref1.addPoint(new GrPoint(452,1,0)); - data.add(ref1); - ref1=new StriRefH("test"); - ref1.addPoint(new GrPoint(1,1,0)); - ref1.addPoint(new GrPoint(1222,2143,0)); - data.add(ref1); - ref1=new StriRefC("@#hgf55"); - ref1.addPoint(new GrPoint(10,20,0)); - ref1.addPoint(new GrPoint(12,23,0)); - data.add(ref1); - ref1=new StriRefH("12 235"); - ref1.addPoint(new GrPoint(10,20,0)); - ref1.addPoint(new GrPoint(1712,52253,0)); - data.add(ref1); - ref1=new StriRefH("XIII"); - ref1.addPoint(new GrPoint(10,20,0)); - ref1.addPoint(new GrPoint(2,3,0)); - data.add(ref1); - data.add(ref1); - ref1=new StriRefZ("ba28 d"); - ref1.addPoint(new GrPoint(10,20,0)); - ref1.addPoint(new GrPoint(666,555,0)); - data.add(ref1); - data.add(ref1); - ref1=new StriRefZ("ref z"); - ref1.addPoint(new GrPoint(14,16,0)); - ref1.addPoint(new GrPoint(10,20,0)); - data.add(ref1); - ref1=new StriRefZ("rh 132"); - ref1.addPoint(new GrPoint(10,20,0)); - ref1.addPoint(new GrPoint(12,23,0)); - data.add(ref1); - ref1=new StriRefH("refh12"); - ref1.addPoint(new GrPoint(10,20,0)); - ref1.addPoint(new GrPoint(2112,3223,0)); - data.add(ref1); - - return data; - } - - - - public static List<DonFrt> remplissageDonneeTestErreur(){ - List<DonFrt> data=new ArrayList<DonFrt>(); - - DonFrt ref1=new StriRefC("ref#stric"); - ref1.addPoint(new GrPoint(10,20,0)); - data.add(ref1); - ref1=new StriRefZ("rsdfsf"); - ref1.addPoint(new GrPoint(12,23,0)); - data.add(ref1); - ref1=new StriRefH("test"); - ref1.addPoint(new GrPoint(1,1,0)); - data.add(ref1); - ref1=new StriRefC("@#hgf55"); - ref1.addPoint(new GrPoint(10,20,0)); - data.add(ref1); - ref1=new StriRefH("12 235"); - ref1.addPoint(new GrPoint(10,20,0)); - data.add(ref1); - ref1=new StriRefH("XIII"); - ref1.addPoint(new GrPoint(10,20,0)); - data.add(ref1); - ref1=new StriRefZ("ba28 d"); - ref1.addPoint(new GrPoint(10,20,0)); - data.add(ref1); - ref1=new StriRefZ("ref z"); - ref1.addPoint(new GrPoint(10,20,0)); - data.add(ref1); - ref1=new StriRefZ("rh 132"); - ref1.addPoint(new GrPoint(10,20,0)); - data.add(ref1); - ref1=new StriRefH("refh12"); - ref1.addPoint(new GrPoint(10,20,0)); - data.add(ref1); - - return data; - } - public static void main(final String[] _args) { - (new TestCrueDFRTFile()).execute(); - } - - public void execute() { - // TODO Auto-generated method stub - lectureEcritureDFRT(true); - } - - public void readWrite(File fichierLecture,File fichierEcriture){ - - CtuluAnalyze listeMessageError=new CtuluAnalyze(); - //--lecture --// - List<DonFrt> jeuDonneesLue= Crue10reader.readDFRTFile(fichierLecture,listeMessageError); - if(jeuDonneesLue!=null) - Crue10writer.writeDFRTFile(jeuDonneesLue,fichierEcriture ,listeMessageError); - else - listeMessageError.addFatalError("Impossible d'\xE9crire le contenu car il n'a pas \xE9t\xE9 correctement lu"); - - AppCrueTest.getInfosError(listeMessageError); - - AppCrueTest.ecrireErrorMsg(listeMessageError); - } - - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDPTGFile.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDPTGFile.java 2009-03-27 08:53:17 UTC (rev 4578) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDPTGFile.java 2009-03-27 08:53:52 UTC (rev 4579) @@ -1,179 +0,0 @@ -package test.java.org.fudaa.fudaa.crue; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import javax.swing.JOptionPane; - -import org.fudaa.ctulu.CtuluAnalyze; - -import junit.framework.TestCase; -import main.java.org.fudaa.dodico.crue.IO.Crue10reader; -import main.java.org.fudaa.dodico.crue.IO.Crue10writer; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDPTG; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDPTI; -import main.java.org.fudaa.dodico.crue.metier.emh.CrueData; -import main.java.org.fudaa.dodico.crue.metier.emh.DonFrt; -import main.java.org.fudaa.dodico.crue.metier.emh.EMH; - -import com.thoughtworks.xstream.XStream; -/** - * Test des fichiers DPTG. - * @author Adrien Hadoux - * - */ -public class TestCrueDPTGFile extends TestCase implements TestCrueImplementation{ - - public static boolean makeError=false; - - public void testTOXML(){ - //-- persistance xml --// - CrueData jeuDonnees=remplissageDonneeTest(); - CrueDaoPersistDPTG dataPersistante=new CrueDaoPersistDPTG(); - dataPersistante.fillInfosWith(jeuDonnees,new CtuluAnalyze()); - XStream parser=dataPersistante.initXmlParser(); - System.out.println(parser.toXML(dataPersistante)); - } - - - - /** - * on demande pas le path a l'user pour les test junit. - */ - public void testLectureEcriture(){ - makeError=false; - lectureEcritureDPTG(false); - } - - public void testLectureEcritureErreur(){ - makeError=true; - lectureEcritureDPTG(false); - } - - /** - * - * Methode appel\xE9e JUNIT. - */ - public void lectureEcritureDPTG(boolean notAjunitTest) { - - CrueData jeuDonnees=null; - - if(!makeError) - jeuDonnees =remplissageDonneeTest(); - else - jeuDonnees =remplissageDonneeTestErreur(); - - - - - CtuluAnalyze listeMessageError=new CtuluAnalyze(); - int cptFichier=1; - - if(notAjunitTest) - AppCrueTest.getRepertoireTest(); - - File fichierDPTG1=new File(AppCrueTest.pathRepertoireTest+File.separator+"ecritureDPTG"+cptFichier++); - File fichierDRSO1=new File(AppCrueTest.pathRepertoireTest+File.separator+"ecritureDRSOpourDPTG"+cptFichier++); - File fichierDFRT1=new File(AppCrueTest.pathRepertoireTest+File.separator+"ecritureDFRTpourDPTG"+cptFichier++); - - //-- persistance xml --// - CrueDaoPersistDPTG dataPersistante=new CrueDaoPersistDPTG(); - dataPersistante.fillInfosWith(jeuDonnees,listeMessageError); - XStream parser=dataPersistante.initXmlParser(); - - jeuDonnees.setFrottements(TestCrueDFRTFile.remplissageDonneeTest()); - - //-- ecriture--// - Crue10writer.writeDPTGFile(jeuDonnees,fichierDPTG1,listeMessageError ); - Crue10writer.writeDRSOFile(jeuDonnees,fichierDRSO1,listeMessageError ); - Crue10writer.writeDFRTFile(jeuDonnees.getFrottements(),fichierDFRT1,listeMessageError ); - //--lecture --// - - //-- on lit dabord le fichier DRSO --// - CrueData jeuDonneesLue= Crue10reader.readDRSOFile(fichierDRSO1,listeMessageError); - //-- on lit le fichier des frottements --// - List<DonFrt> jeuDonneesFrottementsLue= Crue10reader.readDFRTFile(fichierDFRT1,listeMessageError); - - jeuDonneesLue.setFrottements(jeuDonneesFrottementsLue); - - - - //-- on lit ensuite le fichier DPTG --// - Crue10reader.readDPTGFile(fichierDPTG1,jeuDonneesLue,listeMessageError); - - //-- ecriture de nouveau--// - File fichierDPTG2=new File(AppCrueTest.pathRepertoireTest+File.separator+"ecritureDeLectureDPTG"+cptFichier++); - Crue10writer.writeDPTGFile(jeuDonneesLue,fichierDPTG2,listeMessageError ); - - if(notAjunitTest) - AppCrueTest.getInfosError(listeMessageError); - else - AppCrueTest.ecrireErrorMsg(listeMessageError); - } - - - /** - * remplit l'ensemble des donn\xE9es pour faire les test. Methode a updgrader et a reutiliser poru centraliser les tests. - * @return - */ - public static CrueData remplissageDonneeTest(){ - return TestCrueDRSOFile.remplissageDonneeTest(); - - } - - - public static CrueData remplissageDonneeTestErreur(){ - return TestCrueDRSOFile.remplissageDonneeTestErreur(); - - } - - public static void main(final String[] _args) { - (new TestCrueDPTGFile()).execute(); - } - public void execute() { - // TODO Auto-generated method stub - lectureEcritureDPTG(true); - } - - - public void readWrite(File fichierLecture,File fichierEcriture){ - - CtuluAnalyze listeMessageError=new CtuluAnalyze(); - - JOptionPane.showMessageDialog(null,"DPTG est d\xE9pendant des donn\xE9es de DRSO, veuillez sp\xE9cifier l'emplacement de ce fichier"); - - File fichierDRSO1=AppCrueTest.getEmplacementFichier(null); - JOptionPane.showMessageDialog(null,"DPTG est d\xE9pendant des donn\xE9es de DFRT, veuillez sp\xE9cifier l'emplacement de ce fichier"); - - File fichierDFRT1=AppCrueTest.getEmplacementFichier(null); - - - //--lecture --// - CrueData jeuDonneesLue= Crue10reader.readDRSOFile(fichierDRSO1,listeMessageError); - if(jeuDonneesLue!=null){ - //-- on lit le fichier des frottements --// - List<DonFrt> jeuDonneesFrottementsLue= Crue10reader.readDFRTFile(fichierDFRT1,listeMessageError); - - if(jeuDonneesFrottementsLue!=null){ - - jeuDonneesLue.setFrottements(jeuDonneesFrottementsLue); - //-- on lit ensuite le fichier DPTG --// - Crue10reader.readDPTGFile(fichierLecture,jeuDonneesLue,listeMessageError); - - Crue10writer.writeDPTGFile(jeuDonneesLue,fichierEcriture,listeMessageError ); - - - }else - listeMessageError.addFatalError("Impossible d'\xE9crire le contenu car DFRT n'a pas \xE9t\xE9 correctement lu"); - - } - else - listeMessageError.addFatalError("Impossible d'\xE9crire le contenu car DRSO n'a pas \xE9t\xE9 correctement lu"); - - AppCrueTest.getInfosError(listeMessageError); - - AppCrueTest.ecrireErrorMsg(listeMessageError); - } - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDPTIFile.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDPTIFile.java 2009-03-27 08:53:17 UTC (rev 4578) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDPTIFile.java 2009-03-27 08:53:52 UTC (rev 4579) @@ -1,155 +0,0 @@ -package test.java.org.fudaa.fudaa.crue; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import javax.swing.JOptionPane; - -import org.fudaa.ctulu.CtuluAnalyze; - -import junit.framework.TestCase; - -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDPTI; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDRSO; -import main.java.org.fudaa.dodico.crue.IO.Crue10reader; -import main.java.org.fudaa.dodico.crue.IO.Crue10writer; -import main.java.org.fudaa.dodico.crue.metier.emh.CrueData; -import main.java.org.fudaa.dodico.crue.metier.emh.DonFrt; -import main.java.org.fudaa.dodico.crue.metier.emh.EMH; - -import com.thoughtworks.xstream.XStream; - -/** - * Test pour DPTI - * @author Adrien Hadoux - * - */ -public class TestCrueDPTIFile extends TestCase implements TestCrueImplementation{ - - public static boolean makeError=false; - - public void testTOXML(){ - //-- persistance xml --// - CrueData jeuDonnees=remplissageDonneeTest(); - CrueDaoPersistDPTI dataPersistante=new CrueDaoPersistDPTI(); - dataPersistante.fillInfosWith(jeuDonnees,new CtuluAnalyze()); - XStream parser=dataPersistante.initXmlParser(); - System.out.println(parser.toXML(dataPersistante)); - } - - - - /** - * on demande pas le path a l'user pour les test junit. - */ - public void testLectureEcriture(){ - makeError=false; - lectureEcritureDPTI(false); - } - - public void testLectureEcritureErreur(){ - makeError=true; - lectureEcritureDPTI(false); - } - - /** - * - * Methode appel\xE9e JUNIT. - */ - public void lectureEcritureDPTI(boolean notAjunitTest) { - - CrueData jeuDonnees=null; - - if(!makeError) - jeuDonnees =remplissageDonneeTest(); - else - jeuDonnees =remplissageDonneeTestErreur(); - - - - - CtuluAnalyze listeMessageError=new CtuluAnalyze(); - int cptFichier=1; - - if(notAjunitTest) - AppCrueTest.getRepertoireTest(); - - File fichierDPTI1=new File(AppCrueTest.pathRepertoireTest+File.separator+"ecritureDPTI"+cptFichier++); - File fichierDRSO1=new File(AppCrueTest.pathRepertoireTest+File.separator+"ecritureDRSO"+cptFichier++); - - //-- persistance xml --// - CrueDaoPersistDPTI dataPersistante=new CrueDaoPersistDPTI(); - dataPersistante.fillInfosWith(jeuDonnees,listeMessageError); - XStream parser=dataPersistante.initXmlParser(); - - - - //-- ecriture--// - Crue10writer.writeDPTIFile(jeuDonnees,fichierDPTI1,listeMessageError ); - Crue10writer.writeDRSOFile(jeuDonnees,fichierDRSO1,listeMessageError ); - //--lecture --// - - //-- on lit dabord le fichier DRSO --// - CrueData jeuDonneesLue= Crue10reader.readDRSOFile(fichierDRSO1,listeMessageError); - //-- on lit dabord le fichier DPTI --// - Crue10reader.readDPTIFile(fichierDPTI1,jeuDonneesLue,listeMessageError); - - //-- ecriture de nouveau--// - File fichierDPTI2=new File(AppCrueTest.pathRepertoireTest+File.separator+"ecritureDeLectureDPTI"+cptFichier++); - Crue10writer.writeDPTIFile(jeuDonneesLue,fichierDPTI2,listeMessageError ); - - if(notAjunitTest) - AppCrueTest.getInfosError(listeMessageError); - else - AppCrueTest.ecrireErrorMsg(listeMessageError); - } - - - /** - * remplit l'ensemble des donn\xE9es pour faire les test. Methode a updgrader et a reutiliser poru centraliser les tests. - * @return - */ - public static CrueData remplissageDonneeTest(){ - return TestCrueDRSOFile.remplissageDonneeTest(); - - } - - - public static CrueData remplissageDonneeTestErreur(){ - return TestCrueDRSOFile.remplissageDonneeTestErreur(); - - } - - public static void main(final String[] _args) { - (new TestCrueDPTIFile()).execute(); - } - public void execute() { - // TODO Auto-generated method stub - lectureEcritureDPTI(true); - } - - public void readWrite(File fichierLecture,File fichierEcriture){ - - CtuluAnalyze listeMessageError=new CtuluAnalyze(); - - JOptionPane.showMessageDialog(null,"DCSP est d\xE9pendant des don\xE9nes de DRSO, veuillez sp\xE9cifier l'emplacement de ce fichier"); - - File fichierDRSO1=AppCrueTest.getEmplacementFichier(null); - - - //--lecture --// - CrueData jeuDonneesLue= Crue10reader.readDRSOFile(fichierDRSO1,listeMessageError); - if(jeuDonneesLue!=null){ - Crue10reader.readDPTIFile(fichierLecture,jeuDonneesLue,listeMessageError); - Crue10writer.writeDPTIFile(jeuDonneesLue,fichierEcriture,listeMessageError ); - } - else - listeMessageError.addFatalError("Impossible d'\xE9crire le contenu car DRSO n'a pas \xE9t\xE9 correctement lu"); - - AppCrueTest.getInfosError(listeMessageError); - - AppCrueTest.ecrireErrorMsg(listeMessageError); - } - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDRSOFile.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDRSOFile.java 2009-03-27 08:53:17 UTC (rev 4578) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDRSOFile.java 2009-03-27 08:53:52 UTC (rev 4579) @@ -1,597 +0,0 @@ -package test.java.org.fudaa.fudaa.crue; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import org.fudaa.ctulu.CtuluAnalyze; - -import com.thoughtworks.xstream.XStream; - -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDRSO; -import main.java.org.fudaa.dodico.crue.IO.Crue10reader; -import main.java.org.fudaa.dodico.crue.IO.Crue10writer; -import main.java.org.fudaa.dodico.crue.metier.emh.*; - - -import junit.framework.TestCase; - -/** - * Tests junit pour les fichiers DRSO IO. - * Xml, parsing et xstream. - * @author Adrien Hadoux - * - */ -public class TestCrueDRSOFile extends TestCase implements TestCrueImplementation{ - - public static boolean makeError=false; - - public void testTOXML(){ - //-- persistance xml --// - CrueData jeuDonnees=remplissageDonneeTest(); - CrueDaoPersistDRSO dataPersistante=new CrueDaoPersistDRSO(); - dataPersistante.fillInfosWith(jeuDonnees,new CtuluAnalyze()); - XStream parser=dataPersistante.initXmlParser(); - System.out.println(parser.toXML(dataPersistante)); - } - - - - /** - * on demande pas le path a l'user pour les test junit. - */ - public void testLectureEcriture(){ - makeError=false; - lectureEcritureDRSO(false); - } - public void testLectureEcritureErreur(){ - makeError=true; - lectureEcritureDRSO(false); - } - - - /** - * - * Methode appel\xE9e JUNIT. - */ - public void lectureEcritureDRSO(boolean notAjunitTest) { - CrueData jeuDonnees=null; - - if(!makeError) - jeuDonnees =remplissageDonneeTest(); - else - jeuDonnees =remplissageDonneeTestErreur(); - - - CtuluAnalyze listeMessageError=new CtuluAnalyze(); - int cptFichier=1; - - if(notAjunitTest) - AppCrueTest.getRepertoireTest(); - - File fichierDRSO1=new File(AppCrueTest.pathRepertoireTest+File.separator+"testDRSO"+cptFichier++); - - //-- persistance xml --// - CrueDaoPersistDRSO dataPersistante=new CrueDaoPersistDRSO(); - dataPersistante.fillInfosWith(jeuDonnees,listeMessageError); - XStream parser=dataPersistante.initXmlParser(); - - - System.out.println(parser.toXML(dataPersistante)); - - //-- ecriture--// - Crue10writer.writeDRSOFile(jeuDonnees,fichierDRSO1,listeMessageError ); - //--lecture --// - CrueData jeuDonneesLue= Crue10reader.readDRSOFile(fichierDRSO1,listeMessageError); - - //-- ecriture de nouveau--// - File fichierDRSO2=new File(AppCrueTest.pathRepertoireTest+File.separator+"testDRSO"+cptFichier++); - Crue10writer.writeDRSOFile(jeuDonneesLue,fichierDRSO2,listeMessageError ); - - if(notAjunitTest) - AppCrueTest.getInfosError(listeMessageError); - else - AppCrueTest.ecrireErrorMsg(listeMessageError); - } - - - /** - * remplit l'ensemble des donn\xE9es pour faire les test. Methode a updgrader et a reutiliser poru centraliser les tests. - * @return - */ - public static CrueData remplissageDonneeTest(){ - CrueData data=new CrueData(); - - //-- cr\xE9ation de noeuds --// - DonPrtCInitNoeud condInitNoeud=null; - int cptNoeuds=1; - while(cptNoeuds<25){ - CatEMHNoeud noeud= new CatEMHNoeud("N"+cptNoeuds++); - //-- 2 condition init pour tous les noeuds --// - condInitNoeud=new DonPrtCInitNoeud(); - condInitNoeud.setZIni(cptNoeuds); - noeud.addDPTI(condInitNoeud); - - condInitNoeud=new DonPrtCInitNoeud(); - condInitNoeud.setZIni(cptNoeuds+25); - noeud.addDPTI(condInitNoeud); - - data.getNoeuds().add(noeud); - } - - //--Creation des donnees DONFRT --// - List<DonFrt> listeDonFrt=TestCrueDFRTFile.remplissageDonneeTest(); - - //-- creation des casiers--// - EMHCasierProfil casierProfil=new EMHCasierProfil("CASIER PROFIL 001"); - casierProfil.setActive(false); - //-- Donnees DPTI --// - DonPrtCInitBranche condInitCasier=new DonPrtCInitBranche(); - condInitCasier.setQruis(234.123); - casierProfil.addDPTI(condInitCasier); - //-- recherche du noeud 25 precedemment ins\xE9r\xE9 --// - CatEMHNoeud noeud25=CatEMHNoeud.findByReference("N22", data); - casierProfil.setNoeud(noeud25); - //-- Donnees DPTG --// - //-- Ajout de 3 donn\xE9es DPTG --// - DonPrtGeoCasierProfil geoCasier=new DonPrtGeoCasierProfil(); - 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 DonPrtGeoCasierProfil(); - 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 DonPrtGeoCasierProfil(); - 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); - CatEMHNoeud noeud17=CatEMHNoeud.findByReference("N17", data); - casierProfil.setNoeud(noeud17); - //-- Donnees DPTG --// - casierProfil.addDPTG(geoCasier); - data.add(casierProfil); - - - EMHCasierMNT casierMNT=new EMHCasierMNT("CASIER MNT 002"); - casierMNT.setActive(true); - //-- recherche du noeud 12 precedemment ins\xE9r\xE9 --// - CatEMHNoeud noeud12=CatEMHNoeud.findByReference("N12", data); - casierMNT.setNoeud(noeud12); - condInitCasier=new DonPrtCInitBranche(); - condInitCasier.setQruis(12.11); - casierMNT.addDPTI(condInitCasier); - data.add(casierMNT); - - //-- creation des sections --// - EMHSectionInterpolee interpol=new EMHSectionInterpolee("SEC INT"); - interpol.setPosition("POSITION SECTION INTERPOL"); - interpol.setXp(123.4); - - //-- 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 --// - EMHSectionProfil profil=new EMHSectionProfil("SEC PROF"); - profil.setPosition("POSITION SECTION PROFIL"); - profil.setXp(654.3); - //-- dscp --// - calculSection=new DonCalcSansPrtSection(); - calculSection.setCoeffConv(09.11); - calculSection.setCoeffDiv(11); - calculSection.setCoeffPond(212.2); - profil.addDSCP(calculSection); - - //-- Donnees DPTG --// - //-- Ajout de 3 donn\xE9es DPTG --// - DonPrtGeoSectionProfil geoSection=new DonPrtGeoSectionProfil(); - 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); - - - - EMHSectionSansGeometrie geometrie=new EMHSectionSansGeometrie("SEC GEOM"); - geometrie.setPosition("POSITION SECTION GEOMETRIE"); - geometrie.setXp(2112); - //-- dscp --// - calculSection=new DonCalcSansPrtSection(); - calculSection.setCoeffConv(255); - calculSection.setCoeffDiv(999); - calculSection.setCoeffPond(777); - geometrie.addDSCP(calculSection); - data.add(geometrie); - - //-- Section Idem --// - EMHSectionIdem sectionIdem=new EMHSectionIdem("SEC IDEM"); - sectionIdem.setPosition("POSITION SECTION INTERPOL"); - sectionIdem.setXp(123.4); - - //-- dscp --// - DonCalcSansPrtSection calculSection2=new DonCalcSansPrtSection(); - calculSection2.setCoeffConv(12.25); - calculSection2.setCoeffDiv(11.13); - calculSection2.setCoeffPond(2.251524); - sectionIdem.addDSCP(calculSection2); - - - //-- DPTG --// - DonPrtGeoSectionIdem geoIdem=new DonPrtGeoSectionIdem(); - geoIdem.setDW(65535); - sectionIdem.addDPTG(geoIdem); - data.add(sectionIdem); - - //-- creation des branches --// - DonPrtCInitBranche condInitBranche1=null; - DonPrtCInitBranchePdc condInitBranche2=null; - - //EMHBrancheSaintVenant - EMHBrancheSaintVenant branche1=new EMHBrancheSaintVenant("BRANCHE VENANT1"); - branche1.setActive(true); - branche1.setNoeudAmont(CatEMHNoeud.findByReference("N12", data)); - branche1.setNoeudAval(CatEMHNoeud.findByReference("N1", data)); - - //-- donnees DPTI --// - condInitBranche1=new DonPrtCInitBranche(); - condInitBranche1.setQinit(12.5); - branche1.addDPTI(condInitBranche1); - //-- donnees DSCP --// - DonCalcSansPrtBrancheSaintVenant dataCalcul=new DonCalcSansPrtBrancheSaintVenant(); - dataCalcul.setCoeffBeta(5.55); - dataCalcul.setCoefRuis(6.66); - dataCalcul.setCoeffRuisQdm(7.77); - branche1.addDSCP(dataCalcul); - List<CatEMHSection> listeSections=new ArrayList<CatEMHSection>(); - listeSections.add(interpol); - listeSections.add(geometrie); - branche1.setListeSections(listeSections); - - - //-- Donnees DPTG --// - DonPrtGeoBrancheSaintVenant geoPrt=new DonPrtGeoBrancheSaintVenant(); - geoPrt.setCoefSinuo(255); - branche1.addDPTG(geoPrt); - - data.add(branche1); - - - - - //EMHBrancheBarrageGenerique - EMHBrancheBarrageGenerique branche2=new EMHBrancheBarrageGenerique("BRANCHE CHANEL"); - branche2.setActive(false); - branche2.setNoeudAmont(CatEMHNoeud.findByReference("N5", data)); - branche2.setNoeudAval(CatEMHNoeud.findByReference("N7", data)); - - //-- donnees DPTI --// - condInitBranche1=new DonPrtCInitBranche(); - condInitBranche1.setQinit(2.5); - condInitBranche1.setQruis(1); - branche2.addDPTI(condInitBranche1); - - //-- donnees DSCP --// - DonCalcSansPrtBarrageFilEau dataCalcul1=new DonCalcSansPrtBarrageFilEau(); - dataCalcul1.setQLimInf(144); - dataCalcul1.setQLimSup(441); - Loi loi=new Loi(); - loi.setNom("Loi BRANCHE GENE"); - dataCalcul1.setRegimeDenove_Zam(loi); - dataCalcul1.setListElt(remplirListeSeuils()); - branche2.addDSCP(dataCalcul1); - - listeSections=new ArrayList<CatEMHSection>(); - listeSections.add(profil); - branche2.setListeSections(listeSections); - data.add(branche2); - - //EMHBrancheOrifice - EMHBrancheOrifice branche3=new EMHBrancheOrifice("BRANCHE ORIFICE"); - branche3.setActive(false); - branche3.setNoeudAmont(CatEMHNoeud.findByReference("N5", data)); - branche3.setNoeudAval(CatEMHNoeud.findByReference("N7", data)); - //-- donnees DPTI --// - condInitBranche2=new DonPrtCInitBranchePdc(); - condInitBranche2.setQinit(65535); - condInitBranche2.setQruis(999); - condInitBranche2.setOuvPasseDessous(255); - branche3.addDPTI(condInitBranche2); - //-- donnees DSCP --// - //-- liste element orifices --// - DonCalcSansPrtBrancheOrifice dataCalcul2=new DonCalcSansPrtBrancheOrifice(); - dataCalcul2.setElement(remplirListeOrifices()); - dataCalcul2.setFormulePdc("Formule PDC du siecle!"); - branche3.addDSCP(dataCalcul2); - - listeSections=new ArrayList<CatEMHSection>(); - listeSections.add(profil); - branche3.setListeSections(listeSections); - data.add(branche3); - - //EMHBrancheSeuilTransversal - EMHBrancheSeuilTransversal branche4=new EMHBrancheSeuilTransversal("BRANCHE TRANSVERSALE ELEMSEUIL"); - branche4.setActive(false); - branche4.setNoeudAmont(CatEMHNoeud.findByReference("N3", data)); - branche4.setNoeudAval(CatEMHNoeud.findByReference("N12", data)); - //-- donnees DPTI --// - condInitBranche1=new DonPrtCInitBranche(); - condInitBranche1.setQinit(12.254); - condInitBranche1.setQruis(17.54); - branche4.addDPTI(condInitBranche1); - - //-- donnees DSCP --// - //-- liste element orifices --// - DonCalcSansPrtBrancheSeuilTransversal dataCalcul3=new DonCalcSansPrtBrancheSeuilTransversal(); - dataCalcul3.setListElt(remplirListeSeuilsPDC()); - dataCalcul3.setFormulePdc("Divergent"); - branche4.addDSCP(dataCalcul3); - - listeSections=new ArrayList<CatEMHSection>(); - listeSections.add(profil); - branche4.setListeSections(listeSections); - data.add(branche4); - - - //EMHBrancheSeuilLongitudinal - EMHBrancheSeuilLongitudinale branche5=new EMHBrancheSeuilLongitudinale("BRANCHE LATERALE ELEMSEUIL"); - branche5.setActive(false); - branche5.setNoeudAmont(CatEMHNoeud.findByReference("N3", data)); - branche5.setNoeudAval(CatEMHNoeud.findByReference("N12", data)); - //-- donnees DPTI --// - condInitBranche1=new DonPrtCInitBranche(); - condInitBranche1.setQinit(12.254); - condInitBranche1.setQruis(17.54); - branche5.addDPTI(condInitBranche1); - - - //-- donnees DSCP --// - //-- liste element orifices --// - DonCalcSansPrtBrancheSeuilLateral dataCalcul4=new DonCalcSansPrtBrancheSeuilLateral(); - dataCalcul4.setListElt(remplirListeSeuilsPDC()); - dataCalcul4.setFormulePdc("Convergent"); - branche5.addDSCP(dataCalcul4); - - listeSections=new ArrayList<CatEMHSection>(); - listeSections.add(profil); - branche5.setListeSections(listeSections); - data.add(branche5); - - - //EMHBrancheBarrageFilEau - EMHBrancheBarrageFilEau branche6=new EMHBrancheBarrageFilEau("BRANCHE BARRAGE FIL EAU"); - branche6.setActive(false); - branche6.setNoeudAmont(CatEMHNoeud.findByReference("N3", data)); - branche6.setNoeudAval(CatEMHNoeud.findByReference("N12", data)); - //-- donnees DPTI --// - condInitBranche1=new DonPrtCInitBranche(); - condInitBranche1.setQinit(12.254); - condInitBranche1.setQruis(17.54); - branche6.addDPTI(condInitBranche1); - - - //-- donnees DSCP --// - //-- liste element orifices --// - DonCalcSansPrtBarrageFilEau dataCalcul5=new DonCalcSansPrtBarrageFilEau(); - dataCalcul5.setQLimInf(144); - dataCalcul5.setQLimSup(441); - loi=new Loi(); - loi.setNom("Loi Speciale"); - dataCalcul5.setRegimeDenove_Zam(loi); - dataCalcul5.setListElt(remplirListeSeuils()); - branche6.addDSCP(dataCalcul5); - - listeSections=new ArrayList<CatEMHSection>(); - listeSections.add(profil); - branche6.setListeSections(listeSections); - data.add(branche6); - - //EMHBranchePdc - EMHBranchePdc branche7=new EMHBranchePdc("BRANCHE PDC"); - branche7.setActive(false); - branche7.setNoeudAmont(CatEMHNoeud.findByReference("N3", data)); - branche7.setNoeudAval(CatEMHNoeud.findByReference("N12", data)); - //-- donnees DPTI --// - condInitBranche1=new DonPrtCInitBranche(); - condInitBranche1.setQinit(12.254); - condInitBranche1.setQruis(17.54); - branche7.addDPTI(condInitBranche1); - - //-- donnees DSCP --// - //-- liste element orifices --// - DonCalcSansPrtBranchePDC dataCalcul6=new DonCalcSansPrtBranchePDC(); - - loi=new Loi(); - loi.setNom("Loi du PDC"); - dataCalcul6.setPdc_DZ(loi); - branche7.addDSCP(dataCalcul6); - - listeSections=new ArrayList<CatEMHSection>(); - listeSections.add(profil); - branche7.setListeSections(listeSections); - data.add(branche7); - - - - - return data; - } - - public static List<LitNumerote> remplirLitsDPTG(int a,DonFrt don1,DonFrt don2){ - 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(int a){ - 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(){ - 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(){ - 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(){ - 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(){ - CrueData res=remplissageDonneeTest(); - - res.getAllEMH().remove(CatEMHNoeud.findByReference("N5", res)); - res.getAllEMH().remove(CatEMHNoeud.findByReference("N12", res)); - res.getAllEMH().remove(CatEMHNoeud.findByReference("N3", res)); - res.getAllEMH().remove(CatEMHNoeud.findByReference("N1", res)); - - return res; - } - - - public static void main(final String[] _args) { - (new TestCrueDRSOFile()).execute(); - } - - - - public void execute() { - // TODO Auto-generated method stub - lectureEcritureDRSO(true); - } - - public void readWrite(File fichierLecture,File fichierEcriture){ - - CtuluAnalyze listeMessageError=new CtuluAnalyze(); - //--lecture --// - CrueData jeuDonneesLue= Crue10reader.readDRSOFile(fichierLecture,listeMessageError); - if(jeuDonneesLue!=null) - Crue10writer.writeDRSOFile(jeuDonneesLue,fichierEcriture,listeMessageError ); - else - listeMessageError.addFatalError("Impossible d'\xE9crire le contenu car il n'a pas \xE9t\xE9 correctement lu"); - - AppCrueTest.getInfosError(listeMessageError); - - AppCrueTest.ecrireErrorMsg(listeMessageError); - } - - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueETU.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueETU.java 2009-03-27 08:53:17 UTC (rev 4578) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueETU.java 2009-03-27 08:53:52 UTC (rev 4579) @@ -1,80 +0,0 @@ -package test.java.org.fudaa.fudaa.crue; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import javax.swing.J... [truncated message content] |
From: <had...@us...> - 2009-03-27 08:53:23
|
Revision: 4578 http://fudaa.svn.sourceforge.net/fudaa/?rev=4578&view=rev Author: hadouxad Date: 2009-03-27 08:53:17 +0000 (Fri, 27 Mar 2009) Log Message: ----------- Refactorisation de Crue en 2 sous projet Fudaa et Dodico Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/explorer/CrueApplicationManager.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/explorer/CrueExplorer.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/explorer/CrueFileRenderer.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/explorer/CrueLauncher.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/Crue.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/common/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/common/CruePersistanceErrorManager.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/explorer/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/projet/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/projet/CrueModeleBuilder.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/projet/CrueProjet.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/projet/CrueScenarioBuilder.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/projet/CrueSousModeleBuilder.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/AppCrueTest.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/MainTest.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/TestClasse.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/TestCrueDCSPFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/TestCrueDFRTFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/TestCrueDPTGFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/TestCrueDPTIFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/TestCrueDRSOFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/TestCrueETU.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/TestCrueImplementation.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/TestCrueOPTGFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/componentTestClasse.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/java/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/java/org/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/java/org/fudaa/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/java/org/fudaa/fudaa/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/test/testXsd.java Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue09reader.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10reader.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10writer.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue9writer.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDCSP.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDFRT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDPTG.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDPTI.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDRSO.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryETU.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoParsing.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDCSP.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDFRT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDPTG.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDPTI.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDRSO.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistETU.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistOPTG.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersit.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDCSP.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDFRT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDPTG.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDPTI.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDRSO.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatETU.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/ValidatorXml.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/valideDCSP.xsd branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/valideDFRT.xsd branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/valideDPTG.xsd branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/valideDPTI.xsd branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/valideDRSO.xsd branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/valideETU.xsd branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/valideOPTG.xsd branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/valideTest.xsd branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHInfosVersion.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleEnchainement.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleRun.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHProjectInfos.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHRun.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/Crue.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/CrueCommomImplementation.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/CruePersistanceErrorManager.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/explorer/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/projet/CrueModeleBuilder.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/projet/CrueScenarioBuilder.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/projet/CrueSousModeleBuilder.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/projet/CrueModele.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/projet/CrueProjet.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/projet/CrueScenario.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/org/fudaa/fudaa/crue/projet/CrueSousModele.java Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue09reader.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue09reader.java 2009-03-27 08:51:46 UTC (rev 4577) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue09reader.java 2009-03-27 08:53:17 UTC (rev 4578) @@ -1,11 +0,0 @@ -package main.java.org.fudaa.dodico.crue.IO; -/** - * G\xE8re la lecteure du format crue 09. - * - * Utilise fortran reader - * @author Adrien Hadoux - * - */ -public class Crue09reader { - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10reader.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10reader.java 2009-03-27 08:51:46 UTC (rev 4577) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10reader.java 2009-03-27 08:53:17 UTC (rev 4578) @@ -1,168 +0,0 @@ -package main.java.org.fudaa.dodico.crue.IO; - -import java.io.File; -import java.util.List; - -import org.fudaa.ctulu.CtuluAnalyze; - -import main.java.org.fudaa.dodico.crue.commun.CrueRessource; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoParsing; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDFRT; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDPTG; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDPTI; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDRSO; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDCSP; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistETU; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistOPTG; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersit; -import main.java.org.fudaa.dodico.crue.dao.validatorXML.ValidatorXml; -import main.java.org.fudaa.dodico.crue.metier.EMHproject; -import main.java.org.fudaa.dodico.crue.metier.emh.CrueData; -import main.java.org.fudaa.dodico.crue.metier.emh.DonFrt; -import main.java.org.fudaa.dodico.crue.metier.emh.DonPrtReseau; -import main.java.org.fudaa.dodico.crue.metier.emh.EMH; - -/** - * G\xE8re la lecteure du format crue 10 - * - * Utilise du parsing xml - * @author Adrien Hadoux - * - */ -public class Crue10reader { - - /** - * lit le fichier et remplit les infos d'erreurs et gestion des xsd. - * @author Adrien Hadoux - * - */ - protected static class ReaderWithExtra<T>{ - CrueDaoPersit<T> data; - CtuluAnalyze listeMessageError; - Object dataLinked; - - public ReaderWithExtra(CrueDaoPersit<T> data,Object dataLinked,CtuluAnalyze listeMessageError){ - this.data=data; - this.listeMessageError=listeMessageError; - this.dataLinked=dataLinked; - } - /** - * lit le fichier et le valide via la xsd. - * @param fichier - * @param validatorXSDfile - * @return - */ - public T read(File fichier,String validatorXSDfile){ - - listeMessageError.setDesc(CrueRessource.getS(" Analyse du Fichier "+fichier.getName())); - - //-- evaluation du fichier avec la xsd --// - if(!ValidatorXml.validXMLWithDOM(fichier.getAbsolutePath(), validatorXSDfile, listeMessageError) ){ - listeMessageError.addWarn( CrueRessource.getS("Fichier "+fichier.getName()+" non valid\xE9 par la XSD "+validatorXSDfile),0); - } - - //-- lecture des donn\xE9es --// - CrueDaoParsing<T> parser=new CrueDaoParsing<T>(data); - T res= parser.getPersistData(dataLinked, fichier, listeMessageError); - - - - return res; - } - - } - - - /** - * lit le fichier xml ETU - * ETU - Le fichier ETU d\xE9crit les conditions initiales - * et retourne les donn\xE9es m\xE9tier correspondantes. - * Attention, il faut fournir en entree les structures de donnees DRSO - * car le fichier ETU ne contient que des references vers les objets d\xE9crits dans DRSO. - */ - public static EMHproject readETUFile( File fichierETU,CtuluAnalyze listeMessageError){ - return (new ReaderWithExtra<EMHproject>(new CrueDaoPersistETU(),null,listeMessageError)).read(fichierETU, ValidatorXml.xsdETU); - } - - - - - /** - * lit le fichier xml DRSO - * DRSO - Fichier des donn\xE9es du r\xE9seau (xml) - * et retourne les donn\xE9es m\xE9tier correspondantes. - * @param fichierDRSO - * @return - */ - public static CrueData readDRSOFile( File fichierDRSO,CtuluAnalyze listeMessageError){ - - //-- remplissage des donnees m\xE9tier a partir des persistantes--// - return (new ReaderWithExtra<CrueData>(new CrueDaoPersistDRSO(),null,listeMessageError)).read(fichierDRSO, ValidatorXml.xsdDRSO); - - } - - - /** - * lit le fichier xml DPTI - * DPTI - Le fichier DPTI d\xE9crit les conditions initiales - * et retourne les donn\xE9es m\xE9tier correspondantes. - * Attention, il faut fournir en entree les structures de donnees DRSO - * car le fichier DPTI ne contient que des references vers les objets d\xE9crits dans DRSO. - */ - public static void readDPTIFile( File fichierDPTI,CrueData dataDRSO,CtuluAnalyze listeMessageError){ - (new ReaderWithExtra<CrueData>(new CrueDaoPersistDPTI(),dataDRSO,listeMessageError)).read(fichierDPTI, ValidatorXml.xsdDPTI); - } - - - - /** - * Lit le fichier xml \xE0 l'emplacement fichierDDPTG - * DPTG - Fichier des donn\xE9es de pr\xE9traitement g\xE9om\xE9trique (xml) - * a partir des donn\xE9es m\xE9tiers fournies. - * ATTENTION: DPTG a besoin du fichier DRSO et DFRT car il contient des r\xE9f\xE9rences vers ces objets. - */ - public static void readDPTGFile( File fichierDPTG,CrueData dataDRSOetDFRT, CtuluAnalyze listeMessageError){ - - (new ReaderWithExtra<CrueData>(new CrueDaoPersistDPTG(),dataDRSOetDFRT,listeMessageError)).read(fichierDPTG, ValidatorXml.xsdDPTG); - } - - /** - * lit le fichier xml DSCP - * DSCP - Le fichier DSCP d\xE9crit les variables de calculs pour les branches. - * et retourne les donn\xE9es m\xE9tier correspondantes. - * Attention, il faut fournir en entree les structures de donnees DRSO - * car le fichier DSCP ne contient que des references vers les objets d\xE9crits dans DRSO. - */ - public static void readDSCPFile( File fichierDSCP,List<EMH> dataDRSO,CtuluAnalyze listeMessageError){ - (new ReaderWithExtra<List<EMH>>(new CrueDaoPersistDCSP(),dataDRSO,listeMessageError)).read(fichierDSCP, ValidatorXml.xsdDCSP); - } - - /** - * lit le fichier xml DFRT - * DFRT - Fichier des frottements (xml) - * et retourne les donn\xE9es m\xE9tier correspondantes. - * @param fichierDFRT - * @return - */ - public static List<DonFrt> readDFRTFile( File fichierDFRT,CtuluAnalyze listeMessageError){ - return (new ReaderWithExtra<List<DonFrt>>(new CrueDaoPersistDFRT(),null,listeMessageError)).read(fichierDFRT, ValidatorXml.xsdDFRT); - - } - - /** - * lit le fichier xml OPTG - * OPTG - Fichier des ordres pour le pr\xE9traitement g\xE9om\xE9trique (xml). - * et retourne les donn\xE9es m\xE9tier correspondantes. - * @param fichierOPTG - * @return - */ - public static DonPrtReseau readOPTGFile( File fichierOPTG,CtuluAnalyze listeMessageError){ - return (new ReaderWithExtra<DonPrtReseau>(new CrueDaoPersistOPTG(),null,listeMessageError)).read(fichierOPTG, ValidatorXml.xsdOPTG); - - } - - - - - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10writer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10writer.java 2009-03-27 08:51:46 UTC (rev 4577) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10writer.java 2009-03-27 08:53:17 UTC (rev 4578) @@ -1,132 +0,0 @@ -package main.java.org.fudaa.dodico.crue.IO; - -import java.io.File; -import java.util.List; - -import org.fudaa.ctulu.CtuluAnalyze; - -import main.java.org.fudaa.dodico.crue.commun.CrueRessource; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoParsing; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDFRT; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDPTG; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDPTI; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDRSO; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDCSP; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistOPTG; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersit; -import main.java.org.fudaa.dodico.crue.metier.emh.CrueData; -import main.java.org.fudaa.dodico.crue.metier.emh.DonFrt; -import main.java.org.fudaa.dodico.crue.metier.emh.DonPrtReseau; -import main.java.org.fudaa.dodico.crue.metier.emh.EMH; - -/** - * Writer qui g\xE8re l'io vers le format crue 10. - * - * Utilise du parsing xml - * @author Adrien Hadoux - * - */ -public class Crue10writer { - - - protected static class WriterWithExtra<T>{ - - CrueDaoPersit<T> data; - T dataMetier; - - public WriterWithExtra(CrueDaoPersit<T> data,T dataMetier){ - this.data=data; - this.dataMetier=dataMetier; - } - - public boolean write(CtuluAnalyze listeMessageError, File f){ - - listeMessageError.setDesc(CrueRessource.getS(" Analyse du Fichier "+f.getName())); - - data.fillInfosWith(dataMetier,listeMessageError); - CrueDaoParsing<T> parser=new CrueDaoParsing<T>(data); - return parser.persistData(f,listeMessageError); - } - - } - - /** - * Ecrit le fichier xml \xE0 l'emplacement fichierDRSO - * DRSO - Fichier des donn\xE9es du r\xE9seau (xml) - * a partir des donn\xE9es m\xE9tiers fournies. - */ - public static boolean writeDRSOFile(CrueData data, File fichierDRSO,CtuluAnalyze listeMessageError){ - return (new WriterWithExtra<CrueData>(new CrueDaoPersistDRSO(),data)).write(listeMessageError, fichierDRSO); - } - - - /** - * Ecrit le fichier xml \xE0 l'emplacement fichierDDPTI - * DPTI - Le fichier DPTI d\xE9crit les conditions initiales - * a partir des donn\xE9es m\xE9tiers fournies. - */ - public static boolean writeDPTIFile(CrueData data, File fichierDPTI,CtuluAnalyze listeMessageError){ - - - return (new WriterWithExtra<CrueData>(new CrueDaoPersistDPTI(),data)).write(listeMessageError, fichierDPTI); - } - - - /** - * Ecrit le fichier xml \xE0 l'emplacement fichierDDPTI - * DSCP - Le fichier DSCP d\xE9crit les variables de calcul pour les branches - * a partir des donn\xE9es m\xE9tiers fournies. - */ - public static boolean writeDSCPFile(List<EMH> data, File fichierDSCP,CtuluAnalyze listeMessageError){ - return (new WriterWithExtra<List<EMH>>(new CrueDaoPersistDCSP(),data)).write(listeMessageError, fichierDSCP); - } - - /** - * Ecrit le fichier xml \xE0 l'emplacement fichierDRSO - * DFRT - Fichier des frottements (xml) - * a partir des donn\xE9es m\xE9tiers fournies. - */ - public static boolean writeDFRTFile(List<DonFrt> data, File fichierDFRT,CtuluAnalyze listeMessageError){ - return (new WriterWithExtra<List<DonFrt>>(new CrueDaoPersistDFRT(),data)).write(listeMessageError, fichierDFRT); - } - - - /** - * Ecrit le fichier xml \xE0 l'emplacement fichierDDPTG - * DPTG - Fichier des donn\xE9es de pr\xE9traitement g\xE9om\xE9trique (xml) - * a partir des donn\xE9es m\xE9tiers fournies. - */ - public static boolean writeDPTGFile(CrueData data, File fichierDPTG,CtuluAnalyze listeMessageError){ - return (new WriterWithExtra<CrueData>(new CrueDaoPersistDPTG(),data)).write(listeMessageError, fichierDPTG); - } - - /** - * ecrit le fichier xml OPTG - * OPTG - Fichier des ordres pour le pr\xE9traitement g\xE9om\xE9trique (xml). - * et retourne les donn\xE9es m\xE9tier correspondantes. - * @param fichierOPTG - * @return - */ - public static boolean writeOPTGFile(DonPrtReseau data, File fichierOPTG,CtuluAnalyze listeMessageError){ - CrueDaoPersistOPTG dataPersistante=new CrueDaoPersistOPTG(); - return (new WriterWithExtra<DonPrtReseau>(new CrueDaoPersistOPTG(),data)).write(listeMessageError, fichierOPTG); - } - - /** - * Methode qui \xE9crit l'ensemble du projet au format crue. - * TODO: adrien: il faut mettre en param d'entr\xE9e un emhScenario qui contient les noms de tous les fichiers. - * @return - */ - public static boolean writeProjetCrue10(){ - boolean ok=false; - //TODO faire la methode. - - - - - return ok; - } - - - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue9writer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue9writer.java 2009-03-27 08:51:46 UTC (rev 4577) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue9writer.java 2009-03-27 08:53:17 UTC (rev 4578) @@ -1,11 +0,0 @@ -package main.java.org.fudaa.dodico.crue.IO; - -/** - * writer qui permet d'\xE9crier les structures de crue 09 dans les fichiers appropri\xE9s. - * Utilise fortran writer - * @author Adrien Hadoux - * - */ -public class Crue9writer { - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java 2009-03-27 08:51:46 UTC (rev 4577) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java 2009-03-27 08:53:17 UTC (rev 4578) @@ -1,153 +0,0 @@ -package main.java.org.fudaa.dodico.crue.dao; - -import java.util.Date; -import java.util.List; - -import org.fudaa.ctulu.CtuluAnalyze; - -import main.java.org.fudaa.dodico.crue.commun.CrueRessource; -import main.java.org.fudaa.dodico.crue.metier.emh.PtProfil; - -/** - * Plusieurs m\xE9thodes et classes communes utilis\xE9es pour les factory. - * @author Adrien Hadoux - * - */ -public class CrueDaoFactoryCommom { - - public static String VersionCrue="0.0"; - public static String Commentaire="Genere par Fudaa le "+new Date(System.currentTimeMillis()); - - //-- listing des diff\xE9rents fichiers et leur noms utilis\xE9s --// - public static String ETU="ETU"; - - public static String DRSO="DRSO"; - public static String ORES="ORES"; - public static String OCAL="OCAL"; - public static String PCAL="PCAL"; - public static String DCLM="DCLM"; - public static String DLHY="DLHY"; - public static String OPTR="OPTR"; - public static String OPTG="OPTG"; - public static String OPTI="OPTI"; - public static String PNUM="PNUM"; - public static String DPTI="DPTI"; - public static String DCSP="DCSP"; - public static String DPTG="DPTG"; - public static String DFRT="DFRT"; - public static String DC="DC"; - public static String DH="DH"; - - - //-- fichiers de resultats --// - public static String FICHIERRESULTAT="RESULTAT"; - - public static String RPTR="RPTR"; - public static String RPTG="RPTG"; - public static String RPTI="RPTI"; - public static String RCAL="RCAL"; - - - - - - /** - * Construit un ptProfil a partir d'une chaine de caracteres. - * Utilis\xE9 pour DPTG - * @param buff - * @param listeMessageError - * @param nameError - * @return - */ - public static PtProfil createFormString(StringBuffer buff,CtuluAnalyze analyser,String nameError ){ - int indiceCesure=buff.lastIndexOf(" "); - String val1=buff.substring(0, indiceCesure); - String val2=buff.substring(indiceCesure+1, buff.length()); - double x=0; - try{ - x=Double.parseDouble(val1); - - }catch(NumberFormatException e){ - analyser.addInfo(CrueRessource.getS("Profil: "+nameError+": impossible de r\xE9cup\xE9rer la lim debut du contenu: "+buff)); - } - double y=0; - try{ - y=Double.parseDouble(val2); - }catch(NumberFormatException e){ - analyser.addInfo(CrueRessource.getS("Profil: "+nameError+": impossible de r\xE9cup\xE9rer la lim debut du contenu: "+buff)); - } - - PtProfil profil=new PtProfil(x,y); - return profil; - } - public static PtProfil createFormString(String buff,CtuluAnalyze analyser,String nameError ){ - return createFormString(new StringBuffer(buff), analyser, nameError); - } - - - /** - * Message qui indique la balise n'est pas reconnue par les structures de donn\xE9es EMH. - * @param balise - * @param nomRef - * @return - */ - public static String unknowEMH(String balise,String nomEMH){ - return CrueRessource.getS(balise+": Il n'existe pas de structure de donn\xE9e EMH pour l'objet "+nomEMH); - } - - - public static String unknowdataFromFile(String balise,String FileType,String nomEMH){ - return CrueRessource.getS(balise+": Il n'existe pas de structure de donn\xE9e "+FileType+" pour l'objet "+nomEMH); - } - - /** - * Message qui indique la balise n'est pas reconnue par les structures de donn\xE9es EMH. - * @param balise - * @param nomRef - * @return - */ - public static String unknowReference(String balise,String nomRef){ - return CrueRessource.getS(balise+": Impossible de trouver "+balise+" de r\xE9f\xE9rence "+nomRef); - - } - - /** - * Envoie un message formatt\xE9 pour une erreur de doublons d'id - * @param balise - * @param nomRef - * @return - */ - public static String errorIdNonUnique(String balise,String nomRef){ - return CrueRessource.getS("<"+balise+">: l'id "+nomRef+" est en doublon, il ne sera donc pas "); - - } - - - public static String messageBaliseError(String balise,String message){ - return CrueRessource.getS(balise+": "+message); - - } - - - /** - * Message qui indique la balise n'est pas reconnue par les structures de donn\xE9es EMH. - * @param balise - * @param nomRef - * @return - */ - public static String listEmpty(String balise){ - return CrueRessource.getS("Sections <"+balise+">: la liste est vide."); - - } - - public static String emhEmpty(String balise){ - return CrueRessource.getS("EMH: Aucune donn\xE9es EMH trouv\xE9e pour <"+balise+">."); - - } - - - - - - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDCSP.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDCSP.java 2009-03-27 08:51:46 UTC (rev 4577) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDCSP.java 2009-03-27 08:53:17 UTC (rev 4578) @@ -1,643 +0,0 @@ -package main.java.org.fudaa.dodico.crue.dao; - -import java.util.ArrayList; -import java.util.List; - -import org.fudaa.ctulu.CtuluAnalyze; - -import main.java.org.fudaa.dodico.crue.commun.CrueRessource; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatDCSP.ElemSeuil; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatDCSP.ElemSeuilOrifice; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatDCSP.ElemSeuilPdc; -import main.java.org.fudaa.dodico.crue.metier.emh.CatEMHBranche; -import main.java.org.fudaa.dodico.crue.metier.emh.CatEMHSection; -import main.java.org.fudaa.dodico.crue.metier.emh.DonCalcSansPrt; -import main.java.org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBarrageFilEau; -import main.java.org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheOrifice; -import main.java.org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBranchePDC; -import main.java.org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSaintVenant; -import main.java.org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSeuilLateral; -import main.java.org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtBrancheSeuilTransversal; -import main.java.org.fudaa.dodico.crue.metier.emh.DonCalcSansPrtSection; - -import main.java.org.fudaa.dodico.crue.metier.emh.EMH; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHBrancheBarrageFilEau; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHBrancheBarrageGenerique; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHBrancheBarrageRhone; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHBrancheOrifice; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHBranchePdc; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHBrancheSaintVenant; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHBrancheSeuilLongitudinale; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHBrancheSeuilTransversal; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHSectionIdem; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHSectionInterpolee; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHSectionProfil; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHSectionSansGeometrie; -import main.java.org.fudaa.dodico.crue.metier.emh.ElemSeuilAvecPdc; -import main.java.org.fudaa.dodico.crue.metier.emh.Loi; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatDCSP.*; - -/** - * Factory qui se charge de remplir les structures DAO du ficheir DCSP avec les donn\xE9es m\xE9tier et inversement. - * @author Adrien Hadoux - * - */ -public class CrueDaoFactoryDCSP { - - public static int cptEntries=1; - - /** - * Remplit completement la structure persistante a partir des objets DSCP. - * - * Optimise le remplissage en listante les donn\xE9es emh une seule fois et en forwardant les objets aux bons endroits - * - * @param persistance - * @param data - * @param listeMessageError - */ - public static void remplirPersistanceDCSP(CrueDaoPersistDCSP persistance,List<EMH> data,CtuluAnalyze analyser){ - - persistance.Sections=new ArrayList<SectionBrancheAbstract>(); - persistance.Branches=new ArrayList<BrancheAbstract>(); - - - //CrueDaoFactoryDCSP.remplirPersistanceAvecBrancheDSCP(persistance.Branches,data,listeMessageError); - - if(data==null || data.size()==0){ - analyser.addError(CrueDaoFactoryCommom.emhEmpty(CrueDaoFactoryCommom.DCSP),cptEntries++); - }else - for(EMH emh:data ){ - if(emh instanceof CatEMHBranche){ - //-- remplissage des sections de branches --// - CatEMHBranche branche=(CatEMHBranche) emh; - - List<DonCalcSansPrt> listeDoncalc=branche.getDSCP(); - for(DonCalcSansPrt dataCalc:listeDoncalc){ - if(dataCalc!=null ){ - CrueDaoFactoryDCSP.remplirPersistanceAvecBrancheDSCP(persistance.Branches,branche,dataCalc,analyser); - }else{ - analyser.addError(CrueDaoFactoryCommom.unknowdataFromFile("Branches", CrueDaoFactoryCommom.DCSP, branche.getNom()),cptEntries++); - } - } - - }else if(emh instanceof CatEMHSection){ - CatEMHSection section=(CatEMHSection) emh; - List<DonCalcSansPrt> listeDoncalc=section.getDSCP(); - for(DonCalcSansPrt dataCalc:listeDoncalc){ - if(dataCalc!=null && dataCalc instanceof DonCalcSansPrtSection){ - //-- remplissage des sections --// - remplirPersistanceAvecSectionsBrancheDSCP(persistance.Sections, section,(DonCalcSansPrtSection)dataCalc, analyser); - - }else{ - analyser.addError(CrueDaoFactoryCommom.unknowdataFromFile("Section", CrueDaoFactoryCommom.DCSP, section.getNom()),cptEntries++); - } - - - } - - - } - - - - } - - } - - /** - * Remplit completement la structure metier a partir des objets persistants DSCP. - * - * Optimise le remplissage en listante les donn\xE9es emh une seule fois et en forwardant les objets aux bons endroits - * - * @param persistance - * @param data - * @param analyser - */ - public static void remplirMetierDCSP(CrueDaoPersistDCSP persistance,List<EMH> data,CtuluAnalyze analyser){ - - - //-- remplissage des branches --// - CrueDaoFactoryDCSP.remplirBrancheAvecPersistanceDSCP(persistance.Branches, data,analyser); - - - - - - //-- remplissage des sections --// - CrueDaoFactoryDCSP.remplirSectionsAvecPersistanceDSCP(persistance.Sections, data, analyser); - - } - - - /** - * Methode qui remplit une arrayList d'objets persistants qui constituent le fichier fichier DSCP: les Branches. - * @param data - * @return - */ - public static void remplirPersistanceAvecBrancheDSCP(List<BrancheAbstract> listePersistante,CatEMHBranche branche,DonCalcSansPrt dataCalc,CtuluAnalyze analyser){ - String suffixe=CrueDaoPersistDRSO.SUFFIXE_REF_DRSO; - BrancheAbstract branchePersist=null; - if (branche instanceof EMHBrancheBarrageFilEau) { - EMHBrancheBarrageFilEau new_name = (EMHBrancheBarrageFilEau) branche; - branchePersist=new BrancheBarrageFilEau(); - - if( dataCalc instanceof DonCalcSansPrtBarrageFilEau){ - BrancheBarrageFilEau br=(BrancheBarrageFilEau)branchePersist; - - //-- recuperation de la formule --// - if(((DonCalcSansPrtBarrageFilEau)dataCalc).getRegimeDenove_Zam()!=null) - br.Loi=((DonCalcSansPrtBarrageFilEau)dataCalc).getRegimeDenove_Zam().getNom(); - br.QLimInf=((DonCalcSansPrtBarrageFilEau)dataCalc).getQLimInf(); - br.QLimSup=((DonCalcSansPrtBarrageFilEau)dataCalc).getQLimSup(); - //-- on remplit la liste des elements seuils --// - - br.ElemSeuils=remplirPersistanceAvecSeuilsBarragesDSCP(((DonCalcSansPrtBarrageFilEau)dataCalc).getListElt()); - - }else{ - analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche barrage Fil d'eau) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); - } - - - }else if (branche instanceof EMHBrancheBarrageGenerique) { - EMHBrancheBarrageGenerique new_name = (EMHBrancheBarrageGenerique) branche; - branchePersist=new BrancheBarrageGenerique(); - //-- recuperation de la donnee de calcul de la branche --// - if( dataCalc instanceof DonCalcSansPrtBarrageFilEau){ - BrancheBarrageGenerique br=(BrancheBarrageGenerique)branchePersist; - - //-- recuperation de la formule --// - if(((DonCalcSansPrtBarrageFilEau)dataCalc).getRegimeDenove_Zam()!=null) - br.Loi=((DonCalcSansPrtBarrageFilEau)dataCalc).getRegimeDenove_Zam().getNom(); - br.QLimInf=((DonCalcSansPrtBarrageFilEau)dataCalc).getQLimInf(); - br.QLimSup=((DonCalcSansPrtBarrageFilEau)dataCalc).getQLimSup(); - //-- on remplit la liste des elements seuils --// - - br.ElemSeuils=remplirPersistanceAvecSeuilsBarragesDSCP(((DonCalcSansPrtBarrageFilEau)dataCalc).getListElt()); - - }else{ - analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche barrage Generique) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); - } - - - }else if (branche instanceof EMHBrancheBarrageRhone) { - EMHBrancheBarrageRhone new_name = (EMHBrancheBarrageRhone) branche; - branchePersist=new BrancheBarrageRhone(); - //-- recuperation de la donnee de calcul de la branche --// - - if( dataCalc instanceof DonCalcSansPrtBarrageFilEau){ - BrancheBarrageRhone br=(BrancheBarrageRhone)branchePersist; - - //-- recuperation de la formule --// - if(((DonCalcSansPrtBarrageFilEau)dataCalc).getRegimeDenove_Zam()!=null) - br.Loi=((DonCalcSansPrtBarrageFilEau)dataCalc).getRegimeDenove_Zam().getNom(); - br.QLimInf=((DonCalcSansPrtBarrageFilEau)dataCalc).getQLimInf(); - br.QLimSup=((DonCalcSansPrtBarrageFilEau)dataCalc).getQLimSup(); - //-- on remplit la liste des elements seuils --// - - br.ElemSeuils=remplirPersistanceAvecSeuilsBarragesDSCP(((DonCalcSansPrtBarrageFilEau)dataCalc).getListElt()); - - }else{ - analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche barrage Rhone) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); - } - - - } - // else if (branche instanceof EMHBrancheBarrageRhone) { - // EMHBrancheBarrageRhone new_name = (EMHBrancheBarrageRhone) branche; - // branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheBarrageRhone(); - // } - // else if (branche instanceof EMHBrancheEnchainement) { - // EMHBrancheEnchainement new_name = (EMHBrancheEnchainement) branche; - // branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheEnchainement(); - // }else if (branche instanceof EMHBrancheNiveauxAssocies) { - // EMHBrancheNiveauxAssocies new_name = (EMHBrancheNiveauxAssocies) branche; - // branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheNiveauxAssocies(); - // } - else if (branche instanceof EMHBrancheOrifice) { - - branchePersist=new BrancheOrifice(); - - //-- recuperation de la donnee de calcul de la branche --// - - if( dataCalc instanceof DonCalcSansPrtBrancheOrifice){ - BrancheOrifice br=(BrancheOrifice)branchePersist; - - //-- recuperation de la formule --// - br.FormulePdc=((DonCalcSansPrtBrancheOrifice)dataCalc).getFormulePdc(); - //-- on remplit la liste des elements seuils --// - br.ElemOrifices =remplirPersistanceAvecOrificesSeuilsDSCP(((DonCalcSansPrtBrancheOrifice)dataCalc).getElement()); - }else{ - analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche Orifice) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); - } - - - }else if (branche instanceof EMHBranchePdc) { - EMHBranchePdc new_name = (EMHBranchePdc) branche; - branchePersist=new BranchePdc(); - - //-- recuperation de la donnee de calcul de la branche --// - - - if( dataCalc instanceof DonCalcSansPrtBranchePDC){ - BranchePdc br=(BranchePdc)branchePersist; - - //-- recuperation de la formule --// - if(((DonCalcSansPrtBranchePDC)dataCalc).getPdc_DZ()!=null) - br.Loi=((DonCalcSansPrtBranchePDC)dataCalc).getPdc_DZ().getNom(); - - }else{ - analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche seuil Longitudinal) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); - } - - - - }else if (branche instanceof EMHBrancheSaintVenant) { - EMHBrancheSaintVenant new_name = (EMHBrancheSaintVenant) branche; - branchePersist=new BrancheSaintVenant(); - //-- recuperation de la donnee de calcul de la branche --// - - - if( dataCalc instanceof DonCalcSansPrtBrancheSaintVenant){ - BrancheClassiqueAbstract br=(BrancheClassiqueAbstract)branchePersist; - - br.CoefBeta=((DonCalcSansPrtBrancheSaintVenant)dataCalc).getCoeffBeta(); - br.CoefRuis=((DonCalcSansPrtBrancheSaintVenant)dataCalc).getCoefRuis(); - br.CoefRuisQdm=((DonCalcSansPrtBrancheSaintVenant)dataCalc).getCoeffRuisQdm(); - - // //-- remplissage des sections de branches --// - // br.Sections=remplirPersistanceAvecSectionsBrancheDSCP( branche.getListeSections(), analyser); - }else{ - analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche SaintVenant) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); - } - - - - }else if (branche instanceof EMHBrancheSeuilLongitudinale) { - EMHBrancheSeuilLongitudinale new_name = (EMHBrancheSeuilLongitudinale) branche; - branchePersist=new BrancheSeuilLateral(); - - //-- recuperation de la donnee de calcul de la branche --// - - - if( dataCalc instanceof DonCalcSansPrtBrancheSeuilLateral){ - BrancheSeuilLateral br=(BrancheSeuilLateral)branchePersist; - - //-- recuperation de la formule --// - br.FormulePdc=((DonCalcSansPrtBrancheSeuilLateral)dataCalc).getFormulePdc(); - //-- on remplit la liste des elements seuils --// - br.ElemSeuils=remplirPersistanceAvecSeuilsDSCP(((DonCalcSansPrtBrancheSeuilLateral)dataCalc).getListElt()); - - }else{ - analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche seuil Longitudinal) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); - } - - - }else if (branche instanceof EMHBrancheSeuilTransversal) { - EMHBrancheSeuilTransversal new_name = (EMHBrancheSeuilTransversal) branche; - branchePersist=new BrancheSeuilTransversal(); - - //-- recuperation de la donnee de calcul de la branche --// - - if( dataCalc instanceof DonCalcSansPrtBrancheSeuilTransversal){ - BrancheSeuilTransversal br=(BrancheSeuilTransversal)branchePersist; - //-- recuperation de la formule --// - br.FormulePdc=((DonCalcSansPrtBrancheSeuilTransversal)dataCalc).getFormulePdc(); - //-- on remplit la liste des elements seuils --// - br.ElemSeuils=remplirPersistanceAvecSeuilsDSCP(((DonCalcSansPrtBrancheSeuilTransversal)dataCalc).getListElt()); - }else{ - analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche seuil transversal) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); - } - - - - } - // else if (branche instanceof EMHBrancheStrickler) { - // EMHBrancheStrickler new_name = (EMHBrancheStrickler) branche; - // branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheStrickler(); - // } - - if(branchePersist!=null){ - branchePersist.NomRef=suffixe+branche.getNom(); - - - - listePersistante.add(branchePersist); - }else{ - analyser.addError(CrueDaoFactoryCommom.unknowEMH("Branche", branche.getNom()),cptEntries++); - } - - - - - - } - - - - - - /** - * Genere une liste d'elements seuils persistante a partir de la liste m\xE9tier lue. - * @param listeEltSeuilsPersist - * @return - */ - public static List<ElemSeuilPdc> remplirPersistanceAvecSeuilsDSCP(List<ElemSeuilAvecPdc> listeEltSeuilsEMH){ - List<ElemSeuilPdc> listeSeuilsPersist=new ArrayList<ElemSeuilPdc>(); - for(ElemSeuilAvecPdc seuilMetier:listeEltSeuilsEMH ){ - ElemSeuilPdc seuilPersist=new ElemSeuilPdc(); - seuilPersist.CoefD=seuilMetier.getCoeffD(); - seuilPersist.CoefPdc=seuilMetier.getCoeffPdc(); - seuilPersist.Larg=seuilMetier.getLarg(); - seuilPersist.Zseuil=seuilMetier.getZSeuil(); - - listeSeuilsPersist.add(seuilPersist); - } - - return listeSeuilsPersist; - } - - /** - * Genere une liste d'elements seuils persistante a partir de la liste m\xE9tier lue. - * @param listeEltSeuilsPersist - * @return - */ - public static List<ElemSeuil> remplirPersistanceAvecSeuilsBarragesDSCP(List<main.java.org.fudaa.dodico.crue.metier.emh.ElemSeuil> listeEltSeuilsEMH){ - List<ElemSeuil> listeSeuilsPersist=new ArrayList<ElemSeuil>(); - for(main.java.org.fudaa.dodico.crue.metier.emh.ElemSeuil seuilMetier:listeEltSeuilsEMH ){ - ElemSeuil seuilPersist=new ElemSeuil(); - seuilPersist.CoefD=seuilMetier.getCoeffD(); - - seuilPersist.Larg=seuilMetier.getLarg(); - seuilPersist.Zseuil=seuilMetier.getZSeuil(); - - listeSeuilsPersist.add(seuilPersist); - } - - return listeSeuilsPersist; - } - - /** - * Genere une liste d'elements seuils persistante a partir de la liste metier lue. - * @param listeEltSeuilsPersist - * @return - */ - public static List<ElemSeuilOrifice> remplirPersistanceAvecOrificesSeuilsDSCP(List<main.java.org.fudaa.dodico.crue.metier.emh.ElemOrifice> listeEMhSeuils ){ - List<ElemSeuilOrifice> listeEltSeuilsPersist=new ArrayList<ElemSeuilOrifice>(); - for(main.java.org.fudaa.dodico.crue.metier.emh.ElemOrifice seuilMetier :listeEMhSeuils ){ - ElemSeuilOrifice seuilPersist=new ElemSeuilOrifice(); - seuilPersist.CoefD=seuilMetier.getCoeffQ(); - seuilPersist.Larg=seuilMetier.getLarg(); - seuilPersist.Zseuil=seuilMetier.getZSeuil(); - - seuilPersist.CoefCtrLim=seuilMetier.getCoeffCtrLim(); - seuilPersist.Sens=seuilMetier.getSens(); - - listeEltSeuilsPersist.add(seuilPersist); - } - - return listeEltSeuilsPersist; - } - - /** - * Methode qui remplit une arrayList d'objets persistants Sections qui sont contenues dans une branche: concerne le fichier fichier DSCP: les Branches. - * @param data - * @return - */ - public static void remplirPersistanceAvecSectionsBrancheDSCP(List<SectionBrancheAbstract> listePersistante,CatEMHSection section,DonCalcSansPrtSection prtSection,CtuluAnalyze analyser){ - - - SectionBrancheAbstract sectionPersist=null; - if(section instanceof EMHSectionIdem){ - sectionPersist=new SectionIdem(); - }else - if(section instanceof EMHSectionInterpolee){ - sectionPersist=new SectionInterpolee(); - }else - if(section instanceof EMHSectionProfil){ - sectionPersist=new SectionProfil(); - }else - if(section instanceof EMHSectionSansGeometrie){ - sectionPersist=new SectionSansGeometrie(); - } - - - - if(section.getDataCalcul()!=null){ - sectionPersist.NomRef=CrueDaoPersistDRSO.SUFFIXE_REF_DRSO+section.getNom(); - sectionPersist.CoefConv=prtSection.getCoeffConv(); - sectionPersist.CoefDiv=prtSection.getCoeffDiv(); - sectionPersist.CoefPond=prtSection.getCoeffPond(); - } - - listePersistante.add(sectionPersist); - -} - - - - -/** - * Methode qui met a jour les objets m\xE9tier EMH branches a partir des donn\xE9es persistantes de DPTI et les pr\xE9chargements de DRSO - * @param data - * @return - */ -public static void remplirBrancheAvecPersistanceDSCP(List<BrancheAbstract> listePersistants,List<EMH> data,CtuluAnalyze analyser ){ - if(listePersistants==null || listePersistants.size()==0){ - analyser.addError(CrueRessource.getS("Branches: la liste est vide."),cptEntries++); - }else - for(Object persist:listePersistants ){ - if(persist instanceof BrancheAbstract){ - BrancheAbstract branchePersist=(BrancheAbstract) persist; - String reference=branchePersist.NomRef; - if(reference.contains(CrueDaoPersistDRSO.SUFFIXE_REF_DRSO)){ - reference=reference.replace(CrueDaoPersistDRSO.SUFFIXE_REF_DRSO,""); - } - CatEMHBranche branche=CatEMHBranche.findByReference(reference, data); - if(branche==null){ - analyser.addError(CrueRessource.getS("Branche : Impossible de trouver la branche de r\xE9f\xE9rence "+reference),cptEntries++); - }else{ - if(branchePersist instanceof BrancheClassiqueAbstract){ - BrancheClassiqueAbstract br=(BrancheClassiqueAbstract)branchePersist; - DonCalcSansPrtBrancheSaintVenant dataCalcul=new DonCalcSansPrtBrancheSaintVenant(); - dataCalcul.setCoeffBeta(br.CoefBeta); - dataCalcul.setCoefRuis(br.CoefRuis); - dataCalcul.setCoeffRuisQdm(br.CoefRuisQdm); - branche.addDSCP(dataCalcul); - //-- remplissage des sections --// - // remplirSectionsAvecPersistanceDSCP(br.Sections, branche, analyser); - } - //-- branche seuil --// - else if(branchePersist instanceof BrancheSeuilAbstract){ - BrancheSeuilAbstract br=(BrancheSeuilAbstract)branchePersist; - - if((branche instanceof EMHBrancheSeuilLongitudinale) ){ - DonCalcSansPrtBrancheSeuilLateral dataCalcul=new DonCalcSansPrtBrancheSeuilLateral(); - - //-- recuperation de la formule --// - dataCalcul.setFormulePdc(br.FormulePdc); - //-- on remplit la liste des elements seuils --// - dataCalcul.setListElt(remplirSeuilsAvecPersistanceDSCP(br.ElemSeuils)); - branche.addDSCP(dataCalcul); - } - else if( (branche instanceof EMHBrancheSeuilTransversal)){ - DonCalcSansPrtBrancheSeuilTransversal dataCalcul=new DonCalcSansPrtBrancheSeuilTransversal(); - - //-- recuperation de la formule --// - dataCalcul.setFormulePdc(br.FormulePdc); - //-- on remplit la liste des elements seuils --// - dataCalcul.setListElt(remplirSeuilsAvecPersistanceDSCP(br.ElemSeuils)); - branche.addDSCP(dataCalcul); - }else{ - analyser.addError(CrueRessource.getS("Branche : Les donnees de la branche de r\xE9f\xE9rence "+reference+" doivent \xEAtre de type Transversal ou Longitudinal (liste de seuils+ formule pdc)"),cptEntries++); - } - - } - //-- branche seuils orifices --// - else if(branchePersist instanceof BrancheSeuilOrificeAbstract){ - BrancheSeuilOrificeAbstract br=(BrancheSeuilOrificeAbstract)branchePersist; - DonCalcSansPrtBrancheOrifice dataCalcul=new DonCalcSansPrtBrancheOrifice(); - //-- recuperation de la formule --// - dataCalcul.setFormulePdc(br.FormulePdc); - //-- on remplit la liste des elements seuils --// - dataCalcul.setElement(remplirOrificesSeuilsAvecPersistanceDSCP(br.ElemOrifices)); - branche.addDSCP(dataCalcul); - } - //-- branche seuils PDC --// - else if(branchePersist instanceof BranchePDCAbstract){ - BranchePDCAbstract br=(BranchePDCAbstract)branchePersist; - DonCalcSansPrtBranchePDC dataCalcul=new DonCalcSansPrtBranchePDC(); - //-- recuperation de la formule --// - Loi newLoi=new Loi(); - newLoi.setNom(br.Loi); - dataCalcul.setPdc_DZ(newLoi); - branche.addDSCP(dataCalcul); - } - else if(branchePersist instanceof BrancheBarrageFilEauAbstract){ - BrancheBarrageFilEauAbstract br=(BrancheBarrageFilEauAbstract)branchePersist; - DonCalcSansPrtBarrageFilEau dataCalcul=new DonCalcSansPrtBarrageFilEau(); - - //-- recuperation de la formule --// - Loi newLoi=new Loi(); - newLoi.setNom(br.Loi); - dataCalcul.setRegimeDenove_Zam(newLoi); - dataCalcul.setQLimInf(br.QLimInf); - dataCalcul.setQLimSup(br.QLimSup); - - //-- on remplit la liste des elements seuils --// - dataCalcul.setListElt(remplirSeuilsBarragesAvecPersistanceDSCP(br.ElemSeuils)); - branche.addDSCP(dataCalcul); - - } - - - else{ - analyser.addError(CrueRessource.getS("Branche : Donn\xE9es non correcte. La branche de r\xE9f\xE9rence "+reference+" contient des \xE9l\xE9ments de calcul innatendu."),cptEntries++); - } - } - - - } - } - -} - - -/** - * Genere une liste d'elements seuils persistante a partir de la liste m\xE9tier lue. - * @param listeEltSeuilsPersist - * @return - */ -public static List<ElemSeuilAvecPdc> remplirSeuilsAvecPersistanceDSCP(List< ElemSeuilPdc > listeSeuilsPersist){ - List<ElemSeuilAvecPdc> listeEltSeuilsEMH =new ArrayList<ElemSeuilAvecPdc>(); - for(ElemSeuilPdc seuilPersist:listeSeuilsPersist ){ - ElemSeuilAvecPdc seuilMetier =new ElemSeuilAvecPdc(); - seuilMetier.setCoeffD(seuilPersist.CoefD); - seuilMetier.setCoeffPdc(seuilPersist.CoefPdc); - seuilMetier.setLarg(seuilPersist.Larg); - seuilMetier.setZSeuil(seuilPersist.Zseuil); - - listeEltSeuilsEMH.add(seuilMetier); - } - - return listeEltSeuilsEMH; -} -/** - * Genere une liste d'elements seuils persistante a partir de la liste m\xE9tier lue. - * @param listeEltSeuilsPersist - * @return - */ -public static List<main.java.org.fudaa.dodico.crue.metier.emh.ElemSeuil> remplirSeuilsBarragesAvecPersistanceDSCP(List< ElemSeuil > listeSeuilsPersist){ - List<main.java.org.fudaa.dodico.crue.metier.emh.ElemSeuil> listeEltSeuilsEMH =new ArrayList<main.java.org.fudaa.dodico.crue.metier.emh.ElemSeuil>(); - for(ElemSeuil seuilPersist:listeSeuilsPersist ){ - main.java.org.fudaa.dodico.crue.metier.emh.ElemSeuil seuilMetier =new main.java.org.fudaa.dodico.crue.metier.emh.ElemSeuil(); - seuilMetier.setCoeffD(seuilPersist.CoefD); - - seuilMetier.setLarg(seuilPersist.Larg); - seuilMetier.setZSeuil(seuilPersist.Zseuil); - - listeEltSeuilsEMH.add(seuilMetier); - } - - return listeEltSeuilsEMH; -} -/** - * Genere une liste d'elements seuils m\xE9tier a partir de la liste persistante lue. - * @param listeEltSeuilsPersist - * @return - */ -public static List<main.java.org.fudaa.dodico.crue.metier.emh.ElemOrifice> remplirOrificesSeuilsAvecPersistanceDSCP(List<ElemSeuilOrifice> listeEltSeuilsPersist){ - List<main.java.org.fudaa.dodico.crue.metier.emh.ElemOrifice> listeEMhSeuils=new ArrayList<main.java.org.fudaa.dodico.crue.metier.emh.ElemOrifice>(); - for(ElemSeuilOrifice seuilPersist:listeEltSeuilsPersist ){ - main.java.org.fudaa.dodico.crue.metier.emh.ElemOrifice seuilMetier=new main.java.org.fudaa.dodico.crue.metier.emh.ElemOrifice(); - seuilMetier.setCoeffQ(seuilPersist.CoefD); - seuilMetier.setLarg(seuilPersist.Larg); - seuilMetier.setZSeuil(seuilPersist.Zseuil); - - seuilMetier.setCoeffCtrLim(seuilPersist.CoefCtrLim); - seuilMetier.setSens(seuilPersist.Sens); - - listeEMhSeuils.add(seuilMetier); - } - - return listeEMhSeuils; -} - -/** - * Methode qui met a jour les objets m\xE9tier EMH sections de branches a partir des donn\xE9es persistantes qui constituent a quatrieme partie du fichier DSCP: les Sections. - * @param data - * @return - */ -public static void remplirSectionsAvecPersistanceDSCP(List<SectionBrancheAbstract> listePersistantsSection,List<EMH> data,CtuluAnalyze analyser){ - - if(listePersistantsSection==null || listePersistantsSection.size()==0){ - analyser.addError(CrueRessource.getS("Sections : la liste est vide."),cptEntries++); - }else - for(Object persist:listePersistantsSection ){ - if(persist instanceof SectionBrancheAbstract){ - SectionBrancheAbstract sectionPersist=(SectionBrancheAbstract) persist; - - //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// - CatEMHSection section=null; - String reference=sectionPersist.NomRef; - - if(reference.contains(CrueDaoPersistDRSO.SUFFIXE_REF_DRSO)){ - reference=reference.replace(CrueDaoPersistDRSO.SUFFIXE_REF_DRSO,""); - } - section=CatEMHSection.findByReference(reference,data); - - if(section!=null){ - DonCalcSansPrtSection dataCalcul=new DonCalcSansPrtSection(); - - dataCalcul.setCoeffConv(sectionPersist.CoefConv); - dataCalcul.setCoeffDiv(sectionPersist.CoefDiv); - dataCalcul.setCoeffPond(sectionPersist.CoefPond); - section.addDSCP(dataCalcul); - } - else - analyser.addError(CrueDaoFactoryCommom.unknowReference("Section",reference),cptEntries++); - } - } - -} - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDFRT.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDFRT.java 2009-03-27 08:51:46 UTC (rev 4577) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDFRT.java 2009-03-27 08:53:17 UTC (rev 4578) @@ -1,120 +0,0 @@ -package main.java.org.fudaa.dodico.crue.dao; - -import java.util.ArrayList; -import java.util.List; - -import main.java.org.fudaa.dodico.crue.commun.CrueRessource; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatDFRT.StriRefCPersist; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatDFRT.StriRefHPersist; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatDFRT.StriRefPersist; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatDFRT.StriRefZPersist; -import main.java.org.fudaa.dodico.crue.metier.emh.DonFrt; -import main.java.org.fudaa.dodico.crue.metier.emh.StriRefC; -import main.java.org.fudaa.dodico.crue.metier.emh.StriRefH; -import main.java.org.fudaa.dodico.crue.metier.emh.StriRefZ; - -import org.fudaa.ctulu.CtuluAnalyze; -import org.fudaa.ebli.geometrie.GrPoint; - -/** - * Factory qui se charge de remplir les structures DAO dufichier DFRT avec les donn\xE9es m\xE9tier et inversement. - * @author Adrien Hadoux - * - */ -public class CrueDaoFactoryDFRT { - - public static int cptEntries=1; - - /** - * remplir le fichier DFRT avec les frottemetns - * @param data - * @return - */ - public static List<StriRefPersist> remplirPersistanceAvecFrottemetnsDFRT(List<DonFrt> data,CtuluAnalyze analyser){ - List<StriRefPersist> listeFrottement=new ArrayList<StriRefPersist>(); - for(DonFrt frt:data){ - StriRefPersist persist=null; - if(frt instanceof StriRefC) - persist=new StriRefCPersist(frt.getNom()); - else - if(frt instanceof StriRefH) - persist=new StriRefHPersist(frt.getNom()); - else - if(frt instanceof StriRefZ) - persist=new StriRefZPersist(frt.getNom()); - - //-- commun --// - if(persist!=null){ - if(frt.getListePoints()!=null && frt.getListePoints().size()>0){ - persist.listePoints=new ArrayList<StringBuffer>(); - for(GrPoint pt:frt.getListePoints()){ - StringBuffer buff=new StringBuffer(""+pt.x_+" "+pt.y_); - persist.listePoints.add(buff); - } - } - listeFrottement.add(persist); - } - - } - return listeFrottement; - } - - /** - * remplir le fichier DFRT avec les frottemetns - * @param data - * @return - */ - public static List<DonFrt> remplirFrottemetnsAvecPersistanceDFRT(List<StriRefPersist> persistListe,CtuluAnalyze analyser){ - List<DonFrt> data=new ArrayList<DonFrt>(); - if(persistListe==null || persistListe.size()==0){ - analyser.addError(CrueRessource.getS("Frottements : la liste est vide."),cptEntries++); - }else - for(StriRefPersist persist:persistListe){ - DonFrt frt=null; - if(persist instanceof StriRefCPersist) - frt=new StriRefC(persist.Nom); - else - if(persist instanceof StriRefHPersist) - frt=new StriRefH(persist.Nom); - else - if(persist instanceof StriRefZPersist) - frt=new StriRefZ(persist.Nom); - - //-- commun --// - if(persist!=null){ - if(persist.listePoints!=null){ - - List<GrPoint> listePoints=new ArrayList<GrPoint>(); - for(StringBuffer buff:persist.listePoints){ - - int indiceCesure=buff.lastIndexOf(" "); - String val1=buff.substring(0, indiceCesure); - String val2=buff.substring(indiceCesure+1, buff.length()); - double x=0; - try{ - x=Double.parseDouble(val1); - - }catch(NumberFormatException e){ - analyser.addError(CrueRessource.getS("Frottement: "+frt.getNom()+": impossible de r\xE9cup\xE9rer le r\xE9el du contenu: "+buff),cptEntries++); - } - double y=0; - try{ - y=Double.parseDouble(val2); - }catch(NumberFormatException e){ - analyser.addError(CrueRessource.getS("Frottement: "+frt.getNom()+": impossible de r\xE9cup\xE9rer le r\xE9el du contenu: "+buff),cptEntries++); - } - listePoints.add(new GrPoint(x,y,0)); - - } - - - frt.setListePoints(listePoints); - } - data.add(frt); - } - - } - return data; - } - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDPTG.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDPTG.java 2009-03-27 08:51:46 UTC (rev 4577) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDPTG.java 2009-03-27 08:53:17 UTC (rev 4578) @@ -1,375 +0,0 @@ -package main.java.org.fudaa.dodico.crue.dao; - -import java.util.ArrayList; -import java.util.List; - -import org.fudaa.ctulu.CtuluAnalyze; - -import com.lowagie.text.Section; - - - -import main.java.org.fudaa.dodico.crue.commun.CrueRessource; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatDPTG.*; -import main.java.org.fudaa.dodico.crue.metier.emh.CatEMHBranche; -import main.java.org.fudaa.dodico.crue.metier.emh.CatEMHCasier; -import main.java.org.fudaa.dodico.crue.metier.emh.CatEMHNoeud; -im... [truncated message content] |
From: <had...@us...> - 2009-03-27 08:52:05
|
Revision: 4577 http://fudaa.svn.sourceforge.net/fudaa/?rev=4577&view=rev Author: hadouxad Date: 2009-03-27 08:51:46 +0000 (Fri, 27 Mar 2009) Log Message: ----------- Refactorisation de Crue en 2 sous projet Fudaa et Dodico Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CruePreferences.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CrueRessource.java Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CruePreferences.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CruePreferences.java 2009-03-27 08:18:28 UTC (rev 4576) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CruePreferences.java 2009-03-27 08:51:46 UTC (rev 4577) @@ -1,31 +0,0 @@ -package main.java.org.fudaa.dodico.crue.commun; - -import org.fudaa.fudaa.commun.FudaaPreferencesAbstract; -import org.fudaa.fudaa.tr.common.TrPreferences; -/** - * Preferences pour crue. - * @author Adrien Hadoux - * - */ -public class CruePreferences extends FudaaPreferencesAbstract { - public static final String KEY_SERVEUR_PREFIXE = "serveur"; - public static final String KEY_SERVEUR_SHOW_LOG = "serveur.log"; - public static final String KEY_CODE_ID = "crue.code.id"; - - - - /** - * Singleton. - */ - public final static CruePreferences Crue = new CruePreferences(); - - private CruePreferences() { - super(); - } - - @Override - public void applyOn(final Object _o) { - - } -} - Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CrueRessource.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CrueRessource.java 2009-03-27 08:18:28 UTC (rev 4576) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CrueRessource.java 2009-03-27 08:51:46 UTC (rev 4577) @@ -1,76 +0,0 @@ -package main.java.org.fudaa.dodico.crue.commun; - -import org.fudaa.ebli.ressource.EbliResource; - -import org.fudaa.fudaa.ressource.FudaaResource; - -import com.memoire.bu.BuIcon; -import com.memoire.bu.BuResource; - -/** - * Ressources crue. - * - * @author Adrien Hadoux - * - */ -public class CrueRessource extends FudaaResource { - - public final static CrueRessource CRUE = new CrueRessource(BuResource.BU); - public final static String SOFTWARE_ID="Crue"; - private CrueRessource(final BuResource _b) { - super(_b); - } - - public static String getS(final String _s) { - return EbliResource.EBLI.getString(_s); - } - - public static String getS(final String _s, final String _v0) { - return EbliResource.EBLI.getString(_s, _v0); - } - - public static String getS(final String _s, final String _v0, - final String _v1) { - return EbliResource.EBLI.getString(_s, _v0, _v1); - } - - public static BuIcon getMeshIcon() { - return EbliResource.EBLI.getIcon("crue"); - } - - public static BuIcon getLogo() { - return EbliResource.EBLI.getIcon("logo-crue"); - } - - public BuIcon getIcon(String val) { - return EbliResource.EBLI.getIcon(val); - } -// public static String getMeshName() { -// return CrueRessource.getS("Meshview"); -// } - - public static BuIcon getSupervisorIcon() { - return EbliResource.EBLI.getIcon("crystal16_browser.png"); - } - - public static BuIcon getCrueIcon() { - return EbliResource.EBLI.getIcon("aproposde_32.gif"); - } - - public static BuIcon getScopIcon() { - return EbliResource.EBLI.getIcon("curves"); - } - - public static String getCrueName() { - return CrueRessource.getS("Crue"); - } - - public static String getEditorName() { - return CrueRessource.getS("Editeur"); - } - - public static BuIcon getEditorIcon(){ - return EbliResource.EBLI.getIcon("texte"); - } - -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-26 17:58:06
|
Revision: 4575 http://fudaa.svn.sourceforge.net/fudaa/?rev=4575&view=rev Author: bmarchan Date: 2009-03-26 17:58:02 +0000 (Thu, 26 Mar 2009) Log Message: ----------- Des soucis avec la methode Geometry.intersection() car API mal respect?\195?\169e. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISGeometryCollection.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISPolyligne.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISGeometryCollection.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISGeometryCollection.java 2009-03-26 17:35:24 UTC (rev 4574) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISGeometryCollection.java 2009-03-26 17:58:02 UTC (rev 4575) @@ -103,7 +103,7 @@ public GISGeometryCollection(final Geometry[] _geometries, final GeometryFactory _factory) { super(_geometries, _factory); - if (containsCollection(_geometries)) + if (_geometries!=null && containsCollection(_geometries)) throw new IllegalArgumentException("Geometries can't be collections"); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISPolyligne.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISPolyligne.java 2009-03-26 17:35:24 UTC (rev 4574) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISPolyligne.java 2009-03-26 17:58:02 UTC (rev 4575) @@ -32,8 +32,7 @@ } public GISPolyligne() { - super(GISGeometryFactory.INSTANCE.getCoordinateSequenceFactory().create( - new Coordinate[] { new Coordinate(0, 0), new Coordinate(0, 1), new Coordinate(1, 1)}), + super(new GISCoordinateSequenceEmpty(), GISGeometryFactory.INSTANCE); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-26 17:35:33
|
Revision: 4574 http://fudaa.svn.sourceforge.net/fudaa/?rev=4574&view=rev Author: bmarchan Date: 2009-03-26 17:35:24 +0000 (Thu, 26 Mar 2009) Log Message: ----------- Tache #210 : Modeleur 1D : Selection du profil dans la vue bief en m?\195?\170me temps que dans la liste. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueBief.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java 2009-03-26 16:37:57 UTC (rev 4573) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java 2009-03-26 17:35:24 UTC (rev 4574) @@ -132,6 +132,7 @@ addVueModule(controllerProfil_.getVueModuleGestionProfil()); // Vue Bief controllerBief_.getVueBief().getScene().addSelectionListener(this); + controllerProfil_.getProfilContainer().addProfilContainerListener(controllerBief_.getVueBief()); // Vue tableau vueTableau_=new VueTableau(this, controllerProfil_.getProfilContainer()); vueTableau_.addSelectionListener(this); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueBief.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueBief.java 2009-03-26 16:37:57 UTC (rev 4573) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueBief.java 2009-03-26 17:35:24 UTC (rev 4574) @@ -23,6 +23,7 @@ import org.fudaa.fudaa.modeleur.layer.MdlLayer2dProfile; import org.fudaa.fudaa.modeleur.modeleur1d.controller.ControllerBief; import org.fudaa.fudaa.modeleur.modeleur1d.model.Bief; +import org.fudaa.fudaa.modeleur.modeleur1d.model.ProfilContainerListener; import org.fudaa.fudaa.sig.layer.FSigEditor; @@ -35,10 +36,12 @@ * @author Emmanuel MARTIN * @version $Id$ */ -public class VueBief extends ZEbliCalquesPanel implements ListSelectionListener { +public class VueBief extends ZEbliCalquesPanel implements ListSelectionListener, ProfilContainerListener { /** Le controller de la fen\xEAtre 1d. */ protected ControllerBief controllerBief_; + /** Le calque des profils, pour mise a jour du profil selectionn\xE9. */ + MdlLayer2dProfile profils_; public VueBief(MdlImplementation _impl, ControllerBief _controllerBief) { super(_impl); @@ -85,9 +88,9 @@ limitesStockage.modele(bief.limitesStockages_); groupeCalque.add(limitesStockage); // Ajout du calque de profils - MdlLayer2dProfile profils=new MdlLayer2dProfile((FSigEditor)gisEditor_); - profils.modele(bief.profils_); - groupeCalque.add(profils); + profils_=new MdlLayer2dProfile((FSigEditor)gisEditor_); + profils_.modele(bief.profils_); + groupeCalque.add(profils_); // Ajout du calque de rives MdlLayer1dBank rives=new MdlLayer1dBank((FSigEditor)gisEditor_); rives.setSelectable(false); @@ -103,4 +106,13 @@ public void valueChanged(ListSelectionEvent e) { generateCalques(); } + + public void profilContainerSelectedChanged(int _idxOldProfil, int _idxNewProfil){ + if (_idxNewProfil==-1) + profils_.clearSelection(); + else + profils_.setSelection(new int[]{_idxNewProfil}); + } + + public void profilContainerDataModified() {} } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-26 16:38:05
|
Revision: 4573 http://fudaa.svn.sourceforge.net/fudaa/?rev=4573&view=rev Author: bmarchan Date: 2009-03-26 16:37:57 +0000 (Thu, 26 Mar 2009) Log Message: ----------- Tache #209 : Modeleur 1D : Les abscisses curvilignes ne sont pas corrects apr?\195?\168s une fusion Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/ControllerBief.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/FusionBiefPanel.java Removed Paths: ------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueFusionBief.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/ControllerBief.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/ControllerBief.java 2009-03-26 16:31:09 UTC (rev 4572) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/ControllerBief.java 2009-03-26 16:37:57 UTC (rev 4573) @@ -34,7 +34,7 @@ import org.fudaa.fudaa.modeleur.modeleur1d.model.UtilsBief1d; import org.fudaa.fudaa.modeleur.modeleur1d.model.UtilsProfil1d; import org.fudaa.fudaa.modeleur.modeleur1d.view.VueBief; -import org.fudaa.fudaa.modeleur.modeleur1d.view.VueFusionBief; +import org.fudaa.fudaa.modeleur.modeleur1d.view.FusionBiefPanel; import org.fudaa.fudaa.modeleur.modeleur1d.view.PnGestionBief; import com.vividsolutions.jts.geom.Coordinate; @@ -237,93 +237,141 @@ try { // D\xE9termine quel bief est le premier et lequel est le second // (curvilignement parlant) - double bief1BaseCurv=0; - double bief2BaseCurv=0; - { // Bloque r\xE9duisant artificiellement la port\xE9 des variables - String name1=biefSet_.getBiefName(_idxBief1); - String name2=biefSet_.getBiefName(_idxBief2); - Bief bief1=biefSet_.getBief(name1); - Bief bief2=biefSet_.getBief(name2); - // Verifications - if (bief1==null||bief2==null) - throw new IllegalArgumentException(FudaaLib.getS("Au moins un des index ne correspond pas \xE0 un bief.")); - if (bief1.lignesDirectrices_.getNombre()!=bief2.lignesDirectrices_.getNombre()) - throw new IllegalArgumentException(FudaaLib - .getS("Il doit y avoir le m\xEAme nombre de lignes directrices dans les deux biefs.")); - if (bief1.axeHydraulique_.getNombre()!=bief2.axeHydraulique_.getNombre()) - throw new IllegalArgumentException(FudaaLib.getS("Les deux biefs doivent avoir la m\xEAme pr\xE9sence d'axe hydraulique.")); + // Pr\xE9sence ou non d'un axe hydro. + boolean hasAxe=false; + // Le decalage du debut des axes. + double decalBief1; + double decalBief2; + // Les offset de d\xE9calage pour les biefs s'ils ont \xE9t\xE9 modifi\xE9s par + // l'utilisateur. + double offsetBief1=0; + double offsetBief2=0; + // Longueurs de chaque axe (ou pk fin - pk debut si le bief n'a pas d'axe) + double longBief1; + double longBief2; - GISZoneCollection zoneAxeHydrau1=bief1.axeHydraulique_.getGeomData(); - if (zoneAxeHydrau1.getNumGeometries()>0) - bief1BaseCurv=(Double)zoneAxeHydrau1.getValue(zoneAxeHydrau1.getIndiceOf(GISAttributeConstants.CURVILIGNE_DECALAGE), 0); - GISZoneCollection zoneAxeHydrau2=bief2.axeHydraulique_.getGeomData(); - if (zoneAxeHydrau2.getNumGeometries()>0) - bief2BaseCurv=(Double)zoneAxeHydrau2.getValue(zoneAxeHydrau2.getIndiceOf(GISAttributeConstants.CURVILIGNE_DECALAGE), 0); + String name1=biefSet_.getBiefName(_idxBief1); + String name2=biefSet_.getBiefName(_idxBief2); + Bief bief1=biefSet_.getBief(name1); + Bief bief2=biefSet_.getBief(name2); + GISZoneCollection zone1=biefSet_.getBief(name1).profils_.getGeomData(); + GISZoneCollection zone2=biefSet_.getBief(name2).profils_.getGeomData(); - // Inversion des biefs si n\xE9c\xE9ssaire - if (bief1BaseCurv>bief2BaseCurv) { - int idxTmp=_idxBief1; - _idxBief1=_idxBief2; - _idxBief2=idxTmp; - double valTmp=bief1BaseCurv; - bief1BaseCurv=bief2BaseCurv; - bief2BaseCurv=valTmp; - } + // Verifications \\ + + if (bief1==null||bief2==null) + throw new IllegalArgumentException(FudaaLib.getS("Au moins un des index ne correspond pas \xE0 un bief.")); + if (bief1.lignesDirectrices_.getNombre()!=bief2.lignesDirectrices_.getNombre()) + throw new IllegalArgumentException(FudaaLib + .getS("Il doit y avoir le m\xEAme nombre de lignes directrices dans les deux biefs.")); + if (bief1.axeHydraulique_.getNombre()!=bief2.axeHydraulique_.getNombre()) + throw new IllegalArgumentException(FudaaLib.getS("Les deux biefs doivent avoir la m\xEAme pr\xE9sence d'axe hydraulique.")); + + GISZoneCollection zoneAxeHydrau1=bief1.axeHydraulique_.getGeomData(); + GISZoneCollection zoneAxeHydrau2=bief2.axeHydraulique_.getGeomData(); + hasAxe=zoneAxeHydrau1.getNumGeometries()>0; + + // R\xE9cup\xE9ration du d\xE9calage d'abscisse \\ + + if (hasAxe) { + decalBief1=(Double)zoneAxeHydrau1.getValue(zoneAxeHydrau1.getIndiceOf(GISAttributeConstants.CURVILIGNE_DECALAGE), 0); + decalBief2=(Double)zoneAxeHydrau2.getValue(zoneAxeHydrau2.getIndiceOf(GISAttributeConstants.CURVILIGNE_DECALAGE), 0); } - { // Bloque r\xE9duisant artificiellement la port\xE9 des variables - String name1=biefSet_.getBiefName(_idxBief1); - String name2=biefSet_.getBiefName(_idxBief2); - double bief1MaxCurvBrut; - double bief2MaxCurvBrut; - if (biefSet_.getBief(name1).axeHydraulique_.getGeomData().getNumGeometries()>0) { - CoordinateSequence seqAxe1=biefSet_.getBief(name1).axeHydraulique_.getGeomData().getCoordinateSequence(0); - bief1MaxCurvBrut=UtilsProfil1d.abscisseCurviligne(seqAxe1, seqAxe1.getCoordinate(seqAxe1.size()-1)); - CoordinateSequence seqAxe2=biefSet_.getBief(name2).axeHydraulique_.getGeomData().getCoordinateSequence(0); - bief2MaxCurvBrut=UtilsProfil1d.abscisseCurviligne(seqAxe2, seqAxe2.getCoordinate(seqAxe2.size()-1)); - } - else { - GISZoneCollection zone1=biefSet_.getBief(name1).profils_.getGeomData(); - bief1MaxCurvBrut=Double.parseDouble(((String)zone1.getValue(zone1.getIndiceOf(GISAttributeConstants.COMMENTAIRE_HYDRO), - zone1.getNumGeometries()-1)).substring(3)); - GISZoneCollection zone2=biefSet_.getBief(name2).profils_.getGeomData(); - bief2MaxCurvBrut=Double.parseDouble(((String)zone2.getValue(zone2.getIndiceOf(GISAttributeConstants.COMMENTAIRE_HYDRO), - zone2.getNumGeometries()-1)).substring(3)); - } + else { + decalBief1=GISLib.getHydroCommentDouble((String)zone1.getValue(zone1.getIndiceOf(GISAttributeConstants.COMMENTAIRE_HYDRO), + 0), "PK"); + decalBief2=GISLib.getHydroCommentDouble((String)zone2.getValue(zone2.getIndiceOf(GISAttributeConstants.COMMENTAIRE_HYDRO), + 0), "PK"); + } - if (bief1BaseCurv+bief1MaxCurvBrut>bief2BaseCurv) { - VueFusionBief vueFusionBief=new VueFusionBief(controller1d_.getFormater(), name1, bief1BaseCurv, bief1MaxCurvBrut, name2, - bief2BaseCurv, bief2MaxCurvBrut); - if (!vueFusionBief.run()) - return; - bief1BaseCurv=vueFusionBief.getAbsCurvAxe1(); - bief2BaseCurv=vueFusionBief.getAbsCurvAxe2(); - } + // R\xE9cup\xE9ration de la longueur des biefs \\ - // Inversion des biefs si n\xE9c\xE9ssaire - if (bief1BaseCurv>bief2BaseCurv) { - int idxTmp=_idxBief1; - _idxBief1=_idxBief2; - _idxBief2=idxTmp; - double valTmp=bief1BaseCurv; - bief1BaseCurv=bief2BaseCurv; - bief2BaseCurv=valTmp; - } + if (hasAxe) { + CoordinateSequence seqAxe1=biefSet_.getBief(name1).axeHydraulique_.getGeomData().getCoordinateSequence(0); + longBief1=UtilsProfil1d.abscisseCurviligne(seqAxe1, seqAxe1.getCoordinate(seqAxe1.size()-1)); + CoordinateSequence seqAxe2=biefSet_.getBief(name2).axeHydraulique_.getGeomData().getCoordinateSequence(0); + longBief2=UtilsProfil1d.abscisseCurviligne(seqAxe2, seqAxe2.getCoordinate(seqAxe2.size()-1)); } - String name1=biefSet_.getBiefName(_idxBief1); - String name2=biefSet_.getBiefName(_idxBief2); - Bief bief1=biefSet_.getBief(name1); - Bief bief2=biefSet_.getBief(name2); - // Extraction/Cr\xE9ation des axes hydrauliques - GISZoneCollection zoneAxeHydrau1=bief1.axeHydraulique_.getGeomData(); - GISZoneCollection zoneAxeHydrau2=bief2.axeHydraulique_.getGeomData(); + // Pas d'axe hydro => On calcule les longueurs a partir des PK profils. + else { + longBief1=GISLib.getHydroCommentDouble((String)zone1.getValue(zone1.getIndiceOf(GISAttributeConstants.COMMENTAIRE_HYDRO), + zone1.getNumGeometries()-1), "PK") + -decalBief1; + longBief2=GISLib.getHydroCommentDouble((String)zone2.getValue(zone2.getIndiceOf(GISAttributeConstants.COMMENTAIRE_HYDRO), + zone2.getNumGeometries()-1), "PK") + -decalBief2; + } + + // Inversion des biefs si n\xE9c\xE9ssaire + if (decalBief1>decalBief2) { + int idxTmp=_idxBief1; + _idxBief1=_idxBief2; + _idxBief2=idxTmp; + double valTmp=decalBief1; + decalBief1=decalBief2; + decalBief2=valTmp; + + name1=biefSet_.getBiefName(_idxBief1); + name2=biefSet_.getBiefName(_idxBief2); + bief1=biefSet_.getBief(name1); + bief2=biefSet_.getBief(name2); + zone1=bief1.profils_.getGeomData(); + zone2=bief2.profils_.getGeomData(); + zoneAxeHydrau1=bief1.axeHydraulique_.getGeomData(); + zoneAxeHydrau2=bief2.axeHydraulique_.getGeomData(); + } + + // Superposition des biefs => On demande un d\xE9calage a l'utilisateur. + if (decalBief1+longBief1>decalBief2) { + FusionBiefPanel vueFusionBief=new FusionBiefPanel(controller1d_.getFormater(), name1, decalBief1, longBief1, name2, decalBief2, + longBief2); + if (!vueFusionBief.run()) + return; + + offsetBief1=vueFusionBief.getAbsCurvAxe1()-decalBief1; + offsetBief2=vueFusionBief.getAbsCurvAxe2()-decalBief2; + } + + // Inversion des biefs si n\xE9c\xE9ssaire + if (decalBief1+offsetBief1>decalBief2+offsetBief2) { + int idxTmp=_idxBief1; + _idxBief1=_idxBief2; + _idxBief2=idxTmp; + double valTmp=decalBief1; + decalBief1=decalBief2; + decalBief2=valTmp; + valTmp=offsetBief1; + offsetBief1=offsetBief2; + offsetBief2=valTmp; + + name1=biefSet_.getBiefName(_idxBief1); + name2=biefSet_.getBiefName(_idxBief2); + bief1=biefSet_.getBief(name1); + bief2=biefSet_.getBief(name2); + zone1=bief1.profils_.getGeomData(); + zone2=bief2.profils_.getGeomData(); + zoneAxeHydrau1=bief1.axeHydraulique_.getGeomData(); + zoneAxeHydrau2=bief2.axeHydraulique_.getGeomData(); + } + + // Extraction/Cr\xE9ation des axes hydrauliques \\ + CoordinateSequence seqAxeHydraulique1; CoordinateSequence seqAxeHydraulique2; boolean fakeAH=false; - if (zoneAxeHydrau1.getNbGeometries()==0) { + + // On recupere les axes. + if (hasAxe) { + seqAxeHydraulique1=zoneAxeHydrau1.getCoordinateSequence(0); + seqAxeHydraulique2=zoneAxeHydrau2.getCoordinateSequence(0); + } + + // Pas d'axe hydraulique => Construction de 2 faux axes hydrauliques. + else { fakeAH=true; - // Construction d'un faux axe hydraulique + if (bief1.profils_.getNombre()>=2) { CoordinateSequence prof1=bief1.profils_.getGeomData().getCoordinateSequence(0); CoordinateSequence prof2=bief1.profils_.getGeomData().getCoordinateSequence(bief1.profils_.getNombre()-1); @@ -338,6 +386,7 @@ } else return; + if (bief2.profils_.getNombre()>=2) { CoordinateSequence prof1=bief2.profils_.getGeomData().getCoordinateSequence(0); CoordinateSequence prof2=bief2.profils_.getGeomData().getCoordinateSequence(bief2.profils_.getNombre()-1); @@ -353,12 +402,9 @@ else return; } - else { - seqAxeHydraulique1=zoneAxeHydrau1.getCoordinateSequence(0); - seqAxeHydraulique2=zoneAxeHydrau2.getCoordinateSequence(0); - } + - Coordinate debutAxe2=UtilsProfil1d.getCoordinateXY(seqAxeHydraulique1, bief2BaseCurv-bief1BaseCurv); + Coordinate debutAxe2=UtilsProfil1d.getCoordinateXY(seqAxeHydraulique1, (decalBief2+offsetBief2)-(decalBief1+offsetBief1)); Coordinate move=UtilsProfil1d.vec(seqAxeHydraulique2.getCoordinate(0), debutAxe2); // Construction du nouveau bief @@ -374,30 +420,25 @@ GISZoneCollection bief2ZoneProfil=bief2.profils_.getGeomData(); // Ajout de g\xE9om\xE9tries au nouveau bief \\ - // Ajout des profils des biefs d'origines + + // Ajout des profils du bief 1, en d\xE9calant eventuellement les PK. int idxAttrComm=zoneProfils.getIndiceOf(GISAttributeConstants.COMMENTAIRE_HYDRO); for (int i=0; i<bief1.profils_.getNombre(); i++) { int idxGeom=zoneProfils.addGeometry(bief1ZoneProfil.getGeometry(i), UtilsProfil1d.getData(i, bief1ZoneProfil), null); - if (fakeAH) { - // Dans le cas de l'utilisation de l'attribut CommentaireHydro, on - // r\xE9percute le changement de baseCurv sur les valeurs de l'attribut String comm=(String)zoneProfils.getValue(idxAttrComm, idxGeom); - double newPK=GISLib.getHydroCommentDouble(comm, "PK")+bief1BaseCurv; + double newPK=GISLib.getHydroCommentDouble(comm, "PK")+offsetBief1; String newValue=GISLib.setHydroCommentDouble(comm, newPK, "PK"); zoneProfils.setAttributValue(idxAttrComm, idxGeom, newValue, null); - } } + // Ajout des profil du bief 2, en d\xE9calant eventuellement les PK. for (int i=0; i<bief2.profils_.getNombre(); i++) { int idxGeom=zoneProfils.addGeometry(bief2ZoneProfil.getGeometry(i), UtilsProfil1d.getData(i, bief2ZoneProfil), null); - if (fakeAH) { - // Dans le cas de l'utilisation de l'attribut CommentaireHydro, on - // r\xE9percute le changement de baseCurv sur les valeurs de l'attribut String comm=(String)zoneProfils.getValue(idxAttrComm, idxGeom); - double newPK=GISLib.getHydroCommentDouble(comm, "PK")+bief2BaseCurv; + double newPK=GISLib.getHydroCommentDouble(comm, "PK")+offsetBief2; String newValue=GISLib.setHydroCommentDouble(comm, newPK, "PK"); zoneProfils.setAttributValue(idxAttrComm, idxGeom, newValue, null); - } } + // Ajout de l'axe hydraulique du second bief (utile pour la translation) if (!fakeAH) zoneAxeHydraulique.addGeometry(zoneAxeHydrau2.getGeometry(0), UtilsProfil1d.getData(0, zoneAxeHydrau2), null); @@ -432,7 +473,7 @@ zoneAxeHydraulique.addGeometry(new GISPolyligne(new GISCoordinateSequenceFactory().create(coords)), null, null); zoneAxeHydraulique.setAttributValue(zoneAxeHydraulique.getIndiceOf(GISAttributeConstants.TITRE), 1, newTitre, null); zoneAxeHydraulique.setAttributValue(zoneAxeHydrau1.getIndiceOf(GISAttributeConstants.CURVILIGNE_DECALAGE), 1, - bief1BaseCurv, null); + decalBief1, null); // suppression de l'axe hydraulique 2 du nouveau bief zoneAxeHydraulique.removeGeometries(new int[]{0}, null); } Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/FusionBiefPanel.java (from rev 4503, branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueFusionBief.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/FusionBiefPanel.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/FusionBiefPanel.java 2009-03-26 16:37:57 UTC (rev 4573) @@ -0,0 +1,125 @@ +/* + * @creation 20 janv. 2009 + * @modification $Date:$ + * @license GNU General Public License 2 + * @copyright (c)1998-2009 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.fudaa.modeleur.modeleur1d.view; + +import java.awt.Container; +import java.awt.GridLayout; + +import javax.swing.SwingUtilities; + +import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ctulu.gui.CtuluDialogPanel; +import org.fudaa.ebli.commun.EbliFormatterInterface; +import org.fudaa.fudaa.commun.FudaaLib; + +import com.memoire.bu.BuBorderLayout; +import com.memoire.bu.BuCharValidator; +import com.memoire.bu.BuGridLayout; +import com.memoire.bu.BuLabel; +import com.memoire.bu.BuPanel; +import com.memoire.bu.BuTextField; + +/** + * Petite fen\xEAtre demandant des informations suppl\xE9mentaire \xE0 l'utilisateur + * concernant la fusion de deux biefs. + * + * @author Emmanuel MARTIN + * @version $Id$ + */ +public class FusionBiefPanel extends CtuluDialogPanel { + + /* Donn\xE9es de base */ + private String name1_; + private double absCurv1_; + private double length1_; + private String name2_; + private double absCurv2_; + private double length2_; + /* Donn\xE9es de l'interface */ + private BuTextField tfAbsCurv1_; + private BuTextField tfAbsCurv2_; + + public FusionBiefPanel(EbliFormatterInterface _formater, String _name1, double _absCurv1, double _length1, String _name2, double _absCurv2, double _length2) { + name1_=_name1; + absCurv1_=_absCurv1; + length1_=_length1; + name2_=_name2; + absCurv2_=_absCurv2; + length2_=_length2; + + // Construction de la fen\xEAtre \\ + setLayout(new BuBorderLayout()); + // Titres + Container head=new Container(); + head.setLayout(new BuGridLayout(1)); + BuLabel titre1=new BuLabel(FudaaLib.getS("Les biefs se superposent.")); + titre1.setHorizontalAlignment(SwingUtilities.CENTER); + head.add(titre1); + BuLabel titre2=new BuLabel(FudaaLib.getS("D\xE9finissez de nouvelles valeurs de d\xE9calage d'abscisses pour corriger ce probl\xE8me.")); + titre2.setHorizontalAlignment(SwingUtilities.CENTER); + head.add(titre2); + add(head, BuBorderLayout.NORTH); + // Corps + BuPanel body=new BuPanel(); + body.setLayout(new GridLayout(3, 2, 2, 2)); + BuLabel name1=new BuLabel(name1_); + name1.setHorizontalAlignment(SwingUtilities.CENTER); + body.add(name1); + BuLabel name2=new BuLabel(name2_); + name2.setHorizontalAlignment(SwingUtilities.CENTER); + body.add(name2); + tfAbsCurv1_=new BuTextField(_formater.getXYFormatter().format(absCurv1_)); + tfAbsCurv1_.setCharValidator(BuCharValidator.DOUBLE); + tfAbsCurv2_=new BuTextField(_formater.getXYFormatter().format(absCurv2_)); + tfAbsCurv2_.setCharValidator(BuCharValidator.DOUBLE); + body.add(tfAbsCurv1_); + body.add(tfAbsCurv2_); + body.add(new BuLabel(FudaaLib.getS("taille : " + _formater.getXYFormatter().format(length1_)))); + body.add(new BuLabel(FudaaLib.getS("taille : " + _formater.getXYFormatter().format(length2_)))); + add(body, BuBorderLayout.CENTER); + } + + public boolean valide() { + absCurv1_=Double.parseDouble(tfAbsCurv1_.getText()); + absCurv2_=Double.parseDouble(tfAbsCurv2_.getText()); + if(absCurv1_<=absCurv2_&&absCurv1_+length1_>absCurv2_) { + setErrorText(CtuluLib.getS(name1_ + FudaaLib.getS(" est toujours chevauch\xE9 par ") + name2_ +".")); + return false; + } + else if(absCurv2_<absCurv1_&&absCurv2_+length2_>absCurv1_) { + setErrorText(CtuluLib.getS(name2_ + FudaaLib.getS(" est toujours chevauch\xE9 par ") + name1_ +".")); + return false; + } + return true; + } + + /** + * Lance l'exporter dans une fen\xEAtre modale et retourne vrai si l'utilisateur + * clic sur 'ok' \xE0 la fin, faux si il clic sur 'annuler'. + * + * @return + */ + public boolean run(){ + return CtuluDialogPanel.isOkResponse(afficheModale(this, FudaaLib.getS("Fusion de deux biefs"))); + } + + /** + * Retourne l'abscisse curviligne de l'axe 1. + */ + public double getAbsCurvAxe1() { + return absCurv1_; + } + + /** + * Retourne l'abscisse curviligne de l'axe 2. + */ + public double getAbsCurvAxe2() { + return absCurv2_; + } + +} Deleted: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueFusionBief.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueFusionBief.java 2009-03-26 16:31:09 UTC (rev 4572) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueFusionBief.java 2009-03-26 16:37:57 UTC (rev 4573) @@ -1,125 +0,0 @@ -/* - * @creation 20 janv. 2009 - * @modification $Date:$ - * @license GNU General Public License 2 - * @copyright (c)1998-2009 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail fud...@li... - */ -package org.fudaa.fudaa.modeleur.modeleur1d.view; - -import java.awt.Container; -import java.awt.GridLayout; - -import javax.swing.SwingUtilities; - -import org.fudaa.ctulu.CtuluLib; -import org.fudaa.ctulu.gui.CtuluDialogPanel; -import org.fudaa.ebli.commun.EbliFormatterInterface; -import org.fudaa.fudaa.commun.FudaaLib; - -import com.memoire.bu.BuBorderLayout; -import com.memoire.bu.BuCharValidator; -import com.memoire.bu.BuGridLayout; -import com.memoire.bu.BuLabel; -import com.memoire.bu.BuPanel; -import com.memoire.bu.BuTextField; - -/** - * Petite fen\xEAtre demandant des informations suppl\xE9mentaire \xE0 l'utilisateur - * concernant la fusion de deux biefs. - * - * @author Emmanuel MARTIN - * @version $Id:$ - */ -public class VueFusionBief extends CtuluDialogPanel { - - /* Donn\xE9es de base */ - private String name1_; - private double absCurv1_; - private double length1_; - private String name2_; - private double absCurv2_; - private double length2_; - /* Donn\xE9es de l'interface */ - private BuTextField tfAbsCurv1_; - private BuTextField tfAbsCurv2_; - - public VueFusionBief(EbliFormatterInterface _formater, String _name1, double _absCurv1, double _length1, String _name2, double _absCurv2, double _length2) { - name1_=_name1; - absCurv1_=_absCurv1; - length1_=_length1; - name2_=_name2; - absCurv2_=_absCurv2; - length2_=_length2; - - // Construction de la fen\xEAtre \\ - setLayout(new BuBorderLayout()); - // Titres - Container head=new Container(); - head.setLayout(new BuGridLayout(1)); - BuLabel titre1=new BuLabel(FudaaLib.getS("Les deux axes hydrauliques se superposes.")); - titre1.setHorizontalAlignment(SwingUtilities.CENTER); - head.add(titre1); - BuLabel titre2=new BuLabel(FudaaLib.getS("D\xE9finissez de nouvelles valeurs d'abscisses curviligne pour corriger ce probl\xE8me.")); - titre2.setHorizontalAlignment(SwingUtilities.CENTER); - head.add(titre2); - add(head, BuBorderLayout.NORTH); - // Corps - BuPanel body=new BuPanel(); - body.setLayout(new GridLayout(3, 2, 2, 2)); - BuLabel name1=new BuLabel(name1_); - name1.setHorizontalAlignment(SwingUtilities.CENTER); - body.add(name1); - BuLabel name2=new BuLabel(name2_); - name2.setHorizontalAlignment(SwingUtilities.CENTER); - body.add(name2); - tfAbsCurv1_=new BuTextField(_formater.getXYFormatter().format(absCurv1_)); - tfAbsCurv1_.setCharValidator(BuCharValidator.DOUBLE); - tfAbsCurv2_=new BuTextField(_formater.getXYFormatter().format(absCurv2_)); - tfAbsCurv2_.setCharValidator(BuCharValidator.DOUBLE); - body.add(tfAbsCurv1_); - body.add(tfAbsCurv2_); - body.add(new BuLabel(FudaaLib.getS("taille : " + _formater.getXYFormatter().format(length1_)))); - body.add(new BuLabel(FudaaLib.getS("taille : " + _formater.getXYFormatter().format(length2_)))); - add(body, BuBorderLayout.CENTER); - } - - public boolean valide() { - absCurv1_=Double.parseDouble(tfAbsCurv1_.getText()); - absCurv2_=Double.parseDouble(tfAbsCurv2_.getText()); - if(absCurv1_<=absCurv2_&&absCurv1_+length1_>absCurv2_) { - setErrorText(CtuluLib.getS(name1_ + FudaaLib.getS(" est toujours chevauch\xE9 par ") + name2_ +".")); - return false; - } - else if(absCurv2_<absCurv1_&&absCurv2_+length2_>absCurv1_) { - setErrorText(CtuluLib.getS(name2_ + FudaaLib.getS(" est toujours chevauch\xE9 par ") + name1_ +".")); - return false; - } - return true; - } - - /** - * Lance l'exporter dans une fen\xEAtre modale et retourne vrai si l'utilisateur - * clic sur 'ok' \xE0 la fin, faux si il clic sur 'annuler'. - * - * @return - */ - public boolean run(){ - return CtuluDialogPanel.isOkResponse(afficheModale(this, FudaaLib.getS("Fusion de deux biefs"))); - } - - /** - * Retourne l'abscisse curviligne de l'axe 1. - */ - public double getAbsCurvAxe1() { - return absCurv1_; - } - - /** - * Retourne l'abscisse curviligne de l'axe 2. - */ - public double getAbsCurvAxe2() { - return absCurv2_; - } - -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-26 16:31:24
|
Revision: 4572 http://fudaa.svn.sourceforge.net/fudaa/?rev=4572&view=rev Author: bmarchan Date: 2009-03-26 16:31:09 +0000 (Thu, 26 Mar 2009) Log Message: ----------- Tache #208 : Modeleur 1D : Profil rectangle sous Mascaret a pr?\195?\169sent conforme Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Exporter1d.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/UtilsProfil1d.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java 2009-03-25 11:43:06 UTC (rev 4571) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java 2009-03-26 16:31:09 UTC (rev 4572) @@ -381,8 +381,8 @@ // Les formats a exporter. HashMap<FileFormatVersionInterface, Exporter1d> ff2Exporter=new HashMap<FileFormatVersionInterface, Exporter1d>(); - ff2Exporter.put(MascaretGEO1dFileFormat.getInstance(), new Exporter1d.Mascaret()); - ff2Exporter.put(MascaretGEO2dFileFormat.getInstance(), new Exporter1d.Mascaret()); + ff2Exporter.put(MascaretGEO1dFileFormat.getInstance(), new Exporter1d.Mascaret1d()); + ff2Exporter.put(MascaretGEO2dFileFormat.getInstance(), new Exporter1d.Mascaret2d()); ff2Exporter.put(RubarStCnFileFormat.getInstance(), new Exporter1d.Rubar()); FileFormatVersionInterface[] ffs=ff2Exporter.keySet().toArray(new FileFormatVersionInterface[0]); @@ -401,11 +401,8 @@ } if (ff==null) return; - // Cr\xE9ation du writer. - FileWriteOperationAbstract writer=ff.createWriter(); - - Object[] params=ff2Exporter.get(ff).export(bief,controllerBief_.getSelectedBiefName()); - CtuluIOOperationSynthese result=writer.write(params,file, null); + // Export. + CtuluIOOperationSynthese result=ff2Exporter.get(ff).export(file,bief,controllerBief_.getSelectedBiefName()); appli_.manageErrorOperationAndIsFatal(result); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Exporter1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Exporter1d.java 2009-03-25 11:43:06 UTC (rev 4571) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Exporter1d.java 2009-03-26 16:31:09 UTC (rev 4572) @@ -7,9 +7,18 @@ */ package org.fudaa.fudaa.modeleur.modeleur1d.controller; +import java.io.File; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.ctulu.CtuluIOOperationSynthese; +import org.fudaa.ctulu.fileformat.FileFormatVersionInterface; +import org.fudaa.ctulu.fileformat.FileWriteOperationAbstract; import org.fudaa.ctulu.gis.GISDataModel; import org.fudaa.ctulu.gis.GISZoneCollection; +import org.fudaa.dodico.mascaret.io.MascaretGEO1dFileFormat; +import org.fudaa.dodico.mascaret.io.MascaretGEO2dFileFormat; import org.fudaa.dodico.mascaret.io.MascaretGEOWriter; +import org.fudaa.dodico.rubar.io.RubarStCnFileFormat; import org.fudaa.fudaa.modeleur.modeleur1d.model.Bief; import org.fudaa.fudaa.modeleur.modeleur1d.model.UtilsProfil1d; @@ -21,34 +30,65 @@ interface Exporter1d { /** - * Retourne les parametres d'\xE9criture sp\xE9cifiques d'un format de fichier. - * Methode a implementer pour chaque format de fichier. + * Export des donn\xE9es d'un bief. + * @param _f Le fichier d'\xE9criture du bief. * @param _bief Le bief. * @param _name Le nom du bief. * @return Les parametres. */ - public Object[] export(Bief _bief, String _name); + public CtuluIOOperationSynthese export(File _f, Bief _bief, String _name); /** + * Retourne le file format associ\xE9 \xE0 l'exporter. + * @return Le file format. + */ + public FileFormatVersionInterface getFileFormat(); + + /** * Exporteur pour Mascaret 1D, ou 2D. * @author Bertrand Marchand * @version $Id$ */ - class Mascaret implements Exporter1d { + abstract class Mascaret implements Exporter1d { - public Object[] export(Bief _bief, String _name) { + public CtuluIOOperationSynthese export(File _file, Bief _bief, String _name) { + _bief.profils_.getGeomData().prepareExport(); + _bief.axeHydraulique_.getGeomData().prepareExport(); + GISZoneCollection[] zones=new GISZoneCollection[]{_bief.axeHydraulique_.getGeomData(), _bief.lignesDirectrices_.getGeomData(), _bief.limitesStockages_.getGeomData(), _bief.profils_.getGeomData(), _bief.rives_.getGeomData()}; + + final CtuluAnalyze ana=new CtuluAnalyze(); MascaretGEOWriter.FunctorSelectProfil functorSelectProfil=new MascaretGEOWriter.FunctorSelectProfil() { public boolean exportProfil(GISZoneCollection _zone, int _idxProfil) { - return UtilsProfil1d.isProfilCorrect(_zone, _idxProfil); + return UtilsProfil1d.isProfilCorrect(_zone, _idxProfil,ana); } }; - return new Object[]{_name,zones,functorSelectProfil}; + // Ecriture du fichier + FileWriteOperationAbstract writer=getFileFormat().createWriter(); + CtuluIOOperationSynthese synt=writer.write(new Object[]{_name,zones,functorSelectProfil},_file, null); + + if (ana.containsWarnings()) { + ana.merge(synt.getAnalyze()); + synt.setAnalyze(ana); + } + return synt; } } + class Mascaret1d extends Mascaret { + public FileFormatVersionInterface getFileFormat() { + return MascaretGEO1dFileFormat.getInstance(); + } + } + + class Mascaret2d extends Mascaret { + public FileFormatVersionInterface getFileFormat() { + return MascaretGEO2dFileFormat.getInstance(); + } + } + /** * Exporteur pour Rubar ST. * @author Bertrand Marchand @@ -56,7 +96,7 @@ */ class Rubar implements Exporter1d { - public Object[] export(Bief _bief, String _name) { + public CtuluIOOperationSynthese export(File _file, Bief _bief, String _name) { GISDataModel[] params=new GISDataModel[2]; // Remplit les Z coordonn\xE9es avec la valeur de l'attribut Z _bief.profils_.getGeomData().prepareExport(); @@ -64,7 +104,15 @@ params[0]=_bief.profils_.getGeomData(); params[1]=_bief.lignesDirectrices_.getGeomData(); - return params; + + // Ecriture du fichier + FileWriteOperationAbstract writer=getFileFormat().createWriter(); + CtuluIOOperationSynthese synt=writer.write(params,_file, null); + return synt; } + + public FileFormatVersionInterface getFileFormat() { + return RubarStCnFileFormat.getInstance(); + } } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/UtilsProfil1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/UtilsProfil1d.java 2009-03-25 11:43:06 UTC (rev 4571) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/UtilsProfil1d.java 2009-03-26 16:31:09 UTC (rev 4572) @@ -7,6 +7,8 @@ */ package org.fudaa.fudaa.modeleur.modeleur1d.model; +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.ctulu.gis.GISAttributeConstants; import org.fudaa.ctulu.gis.GISAttributeModel; import org.fudaa.ctulu.gis.GISCoordinateSequenceContainerInterface; import org.fudaa.ctulu.gis.GISCoordinateSequenceFactory; @@ -14,6 +16,7 @@ import org.fudaa.ctulu.gis.GISPoint; import org.fudaa.ctulu.gis.GISZoneCollection; import org.fudaa.fudaa.commun.FudaaLib; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.CoordinateSequence; @@ -31,35 +34,54 @@ /** * Retourne vrai si le profil est correct. + * @param _ana L'analyseur. Permet de retourner le pourquoi de la non conformit\xE9. Peut \xEAtre null. */ - static public boolean isProfilCorrect(GISZoneCollection _zone, int _idxProfil) { + static public boolean isProfilCorrect(final GISZoneCollection _zone, final int _idxProfil, final CtuluAnalyze _ana) { + + // Une classe pour afficher le message. + class MessageHelper { + public void warn(String _mes, int _idxProfil, int _idxPoint) { + if (_ana==null) return; + int iattName=_zone.getIndiceOf(GISAttributeConstants.TITRE); + String name=(String)_zone.getValue(iattName, _idxProfil); + _ana.addWarn(MdlResource.getS(_mes,name,""+_idxPoint),-1); + } + } + CoordinateSequence seq=((GISCoordinateSequenceContainerInterface)_zone.getGeometry(_idxProfil)).getCoordinateSequence(); // Verifie qu'on a bien au minimum deux points. \\ - if (seq.size()<2) + if (seq.size()<2) { + new MessageHelper().warn("Profil '{0}' : Le nombre de points mini doit \xEAtre de 2", _idxProfil, 0); return false; + } // Verifie que deux points cons\xE9cutifs ne sont pas confondus. \\ for (int i=1; i<seq.size(); i++) - if (seq.getX(i-1)==seq.getX(i)&&seq.getY(i-1)==seq.getY(i)) + if (seq.getX(i-1)==seq.getX(i)&&seq.getY(i-1)==seq.getY(i)&&seq.getOrdinate(i,2)==seq.getOrdinate(i-1,2)) { + new MessageHelper().warn("Profil '{0}' : Au moins 2 points sont confondus au point {1}", _idxProfil, i+1); return false; - // Verifie que le profil donn\xE9 ne poss\xE8de pas des axes qui se coupent entre + } + // Verifie que le profil donn\xE9 ne poss\xE8de pas des segments qui se coupent entre eux // eux \\ for (int i=1; i<seq.size(); i++) { Geometry mainAxe=GISGeometryFactory.INSTANCE.createLineString(new Coordinate[]{seq.getCoordinate(i-1), seq.getCoordinate(i)}); boolean ok=true; - // Un seul point d'intersection avec l'axe qui suit - if (i+1<seq.size() + // Un seul point d'intersection avec le segment qui suit + int j=i; + if (j+1<seq.size() &&mainAxe.intersection( - GISGeometryFactory.INSTANCE.createLineString(new Coordinate[]{seq.getCoordinate(i), seq.getCoordinate(i+1)})) + GISGeometryFactory.INSTANCE.createLineString(new Coordinate[]{seq.getCoordinate(j), seq.getCoordinate(j+1)})) .getNumPoints()>1) ok=false; - // Aucun point d'intersection avec les axes qui suivent - int j=i; + j++; + // Aucun point d'intersection avec les segments qui suivent while (ok&&++j+1<seq.size()) ok=!mainAxe.intersects(GISGeometryFactory.INSTANCE.createLineString(new Coordinate[]{seq.getCoordinate(j), seq.getCoordinate(j+1)})); // Traitement d'une \xE9ventuelle intersection - if (!ok) + if (!ok) { + new MessageHelper().warn("Profil '{0}' : Le profil se coupe lui m\xEAme au point {1}", _idxProfil, j+1); return false; + } } // / D\xE9termination des points de ruptures et verification qu'il y en a @@ -82,8 +104,10 @@ if(UtilsProfil1d.getAngle(seq.getCoordinate(idx1), seq.getCoordinate(idx2), seq.getCoordinate(idx3))<(Math.PI-0.0001)) if(idxPointRupturePrecedent<0||!seq.getCoordinate(idxPointRupturePrecedent).equals(seq.getCoordinate(idx2))) nbPointsRupture++; - if (nbPointsRupture>2) + if (nbPointsRupture>2) { + new MessageHelper().warn("Profil '{0}' : Le profil poss\xE8de plus de 3 segments",_idxProfil,0); return false; + } if(idx2+1<idx3) idx2++; else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-25 11:43:09
|
Revision: 4571 http://fudaa.svn.sourceforge.net/fudaa/?rev=4571&view=rev Author: bmarchan Date: 2009-03-25 11:43:06 +0000 (Wed, 25 Mar 2009) Log Message: ----------- Tache #207 : plantage en cas de modification de propri?\195?\169t?\195?\169s par configuration de calque. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesTraceConfigure.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesTraceConfigure.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesTraceConfigure.java 2009-03-25 10:44:11 UTC (rev 4570) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesTraceConfigure.java 2009-03-25 11:43:06 UTC (rev 4571) @@ -44,10 +44,10 @@ } public boolean setProperty(final String _key, final Object _newProp) { - if (_key == propIcon_) { + if (propIcon_.equals(_key)) { return getCq().setIconModel(idx_, (TraceIconModel) _newProp); } - else if (_key==propLine_) { + else if (propLine_.equals(_key)) { return getCq().setLineModel(idx_, (TraceLigneModel) _newProp); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-25 10:44:25
|
Revision: 4570 http://fudaa.svn.sourceforge.net/fudaa/?rev=4570&view=rev Author: bmarchan Date: 2009-03-25 10:44:11 +0000 (Wed, 25 Mar 2009) Log Message: ----------- Tache #206 : Correction plantage modeleur 1D en cas de permutation profils. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java 2009-03-25 09:51:21 UTC (rev 4569) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java 2009-03-25 10:44:11 UTC (rev 4570) @@ -162,12 +162,16 @@ } public void redo() { controllerProfil_.getProfilSelectionModel().setSelectedProfil(-1); + controllerBief_.getSelectedBief().disableSynchroniser(); cmd_.redo(); + controllerBief_.getSelectedBief().enableSynchroniser(); controllerProfil_.getProfilSelectionModel().setSelectedProfil(newIdx_); } public void undo() { controllerProfil_.getProfilSelectionModel().setSelectedProfil(-1); + controllerBief_.getSelectedBief().disableSynchroniser(); cmd_.undo(); + controllerBief_.getSelectedBief().enableSynchroniser(); controllerProfil_.getProfilSelectionModel().setSelectedProfil(oldIdx_); } public String getName() { @@ -177,7 +181,9 @@ CtuluCommandComposite cmd=new CtuluCommandComposite(); int oldIdxProfil=controllerProfil_.getProfilSelectionModel().getSelectedProfil(); controllerProfil_.getProfilSelectionModel().setSelectedProfil(-1); + controllerBief_.getSelectedBief().disableSynchroniser(); int newIdxProfil=controllerBief_.orderProfils(controllerProfil_.getProfilSelectionModel().getSelectedProfil(), cmd); + controllerBief_.getSelectedBief().enableSynchroniser(); controllerProfil_.getProfilSelectionModel().setSelectedProfil(newIdxProfil); if(_cmd!=null) _cmd.addCmd(new UndoRedoChangeSelectionProfil(oldIdxProfil, newIdxProfil, cmd)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2009-03-25 09:51:38
|
Revision: 4569 http://fudaa.svn.sourceforge.net/fudaa/?rev=4569&view=rev Author: hadouxad Date: 2009-03-25 09:51:21 +0000 (Wed, 25 Mar 2009) Log Message: ----------- Initial import. Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/dodico-crue/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2009-03-24 18:49:55
|
Revision: 4568 http://fudaa.svn.sourceforge.net/fudaa/?rev=4568&view=rev Author: hadouxad Date: 2009-03-24 18:49:39 +0000 (Tue, 24 Mar 2009) Log Message: ----------- - Refactorisation structures - mise en place du ctuluAnalyse pour les I/O - Mise en place d'un explorateur de fichier sp?\195?\169cifique - Reconnaissance du format etu ou etu.xml Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/EtudeStructuresCorrigees.etu.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10reader.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10writer.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CrueRessource.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDCSP.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDFRT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDPTG.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDPTI.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDRSO.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryETU.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDCSP.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDFRT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDPTG.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDPTI.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDRSO.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistETU.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistOPTG.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/ValidatorXml.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleEnchainement.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHProjectInfos.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/Crue.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/CrueCommomImplementation.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/CruePersistanceErrorManager.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/AppCrueTest.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDCSPFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDFRTFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDPTGFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDPTIFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDRSOFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueETU.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueOPTGFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/testXsd.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormat.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormatManager.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/EtuFileFormat.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CruePreferences.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersit.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/explorer/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/explorer/CrueApplicationManager.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/explorer/CrueExplorer.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/explorer/CrueFileRenderer.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/projet/CrueModeleBuilder.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/projet/CrueScenarioBuilder.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/projet/CrueSousModeleBuilder.java Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/projet/CrueModele.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/projet/CrueScenario.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/projet/CrueSousModele.java Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/EtudeStructuresCorrigees.etu.xml =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/EtudeStructuresCorrigees.etu.xml 2009-03-24 18:41:34 UTC (rev 4567) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/EtudeStructuresCorrigees.etu.xml 2009-03-24 18:49:39 UTC (rev 4568) @@ -151,13 +151,13 @@ <DerniereModif>Balayn_P</DerniereModif> <DateCreation>20090122</DateCreation> <FichEtudes> - <Fichier NomRef="SCMod3.ocal.xml" /> + <Fichier-ref NomRef="SCMod3.ocal.xml" /> <!-- Un scénario est défini par 5 fichiers de niveau scénario et 1 à n modèles --> - <Fichier NomRef="SCMod3.ores.xml" /> + <Fichier-ref NomRef="SCMod3.ores.xml" /> <!-- Tous les fichiers utilisés par le scénario sont identifiés par leur nom dans l'espace etude --> - <Fichier NomRef="SCMod3.pcal.xml" /> - <Fichier NomRef="Modele3.dclm.xml" /> - <Fichier NomRef="SCMod3.dlhy.xml" /> + <Fichier-ref NomRef="SCMod3.pcal.xml" /> + <Fichier-ref NomRef="Modele3.dclm.xml" /> + <Fichier-ref NomRef="SCMod3.dlhy.xml" /> </FichEtudes> <Modeles> <Modele-ref NomRef="MOModele3"/> Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10reader.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10reader.java 2009-03-24 18:41:34 UTC (rev 4567) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10reader.java 2009-03-24 18:49:39 UTC (rev 4568) @@ -3,7 +3,10 @@ import java.io.File; import java.util.List; +import org.fudaa.ctulu.CtuluAnalyze; + import main.java.org.fudaa.dodico.crue.commun.CrueRessource; +import main.java.org.fudaa.dodico.crue.dao.CrueDaoParsing; import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDFRT; import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDPTG; import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDPTI; @@ -11,7 +14,7 @@ import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDCSP; import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistETU; import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistOPTG; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoParsing; +import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersit; import main.java.org.fudaa.dodico.crue.dao.validatorXML.ValidatorXml; import main.java.org.fudaa.dodico.crue.metier.EMHproject; import main.java.org.fudaa.dodico.crue.metier.emh.CrueData; @@ -34,11 +37,11 @@ * */ protected static class ReaderWithExtra<T>{ - CrueDaoParsing<T> data; - List<String> listeMessageError; + CrueDaoPersit<T> data; + CtuluAnalyze listeMessageError; Object dataLinked; - public ReaderWithExtra(CrueDaoParsing<T> data,Object dataLinked,List<String> listeMessageError){ + public ReaderWithExtra(CrueDaoPersit<T> data,Object dataLinked,CtuluAnalyze listeMessageError){ this.data=data; this.listeMessageError=listeMessageError; this.dataLinked=dataLinked; @@ -51,20 +54,19 @@ */ public T read(File fichier,String validatorXSDfile){ - int indiceMsg=listeMessageError.size(); + listeMessageError.setDesc(CrueRessource.getS(" Analyse du Fichier "+fichier.getName())); //-- evaluation du fichier avec la xsd --// if(!ValidatorXml.validXMLWithDOM(fichier.getAbsolutePath(), validatorXSDfile, listeMessageError) ){ - listeMessageError.add(indiceMsg, CrueRessource.getS("Fichier "+fichier.getName()+" non valid\xE9 par la XSD "+validatorXSDfile)); + listeMessageError.addWarn( CrueRessource.getS("Fichier "+fichier.getName()+" non valid\xE9 par la XSD "+validatorXSDfile),0); } //-- lecture des donn\xE9es --// - T res= data.getPersistData(dataLinked, fichier, listeMessageError); + CrueDaoParsing<T> parser=new CrueDaoParsing<T>(data); + T res= parser.getPersistData(dataLinked, fichier, listeMessageError); - if(indiceMsg!=listeMessageError.size()){ - listeMessageError.add(indiceMsg, CrueRessource.getS("**Fichier "+fichier.getName())); - } + return res; } @@ -78,7 +80,7 @@ * Attention, il faut fournir en entree les structures de donnees DRSO * car le fichier ETU ne contient que des references vers les objets d\xE9crits dans DRSO. */ - public static EMHproject readETUFile( File fichierETU,List<String> listeMessageError){ + public static EMHproject readETUFile( File fichierETU,CtuluAnalyze listeMessageError){ return (new ReaderWithExtra<EMHproject>(new CrueDaoPersistETU(),null,listeMessageError)).read(fichierETU, ValidatorXml.xsdETU); } @@ -92,7 +94,7 @@ * @param fichierDRSO * @return */ - public static CrueData readDRSOFile( File fichierDRSO,List<String> listeMessageError){ + public static CrueData readDRSOFile( File fichierDRSO,CtuluAnalyze listeMessageError){ //-- remplissage des donnees m\xE9tier a partir des persistantes--// return (new ReaderWithExtra<CrueData>(new CrueDaoPersistDRSO(),null,listeMessageError)).read(fichierDRSO, ValidatorXml.xsdDRSO); @@ -107,7 +109,7 @@ * Attention, il faut fournir en entree les structures de donnees DRSO * car le fichier DPTI ne contient que des references vers les objets d\xE9crits dans DRSO. */ - public static void readDPTIFile( File fichierDPTI,CrueData dataDRSO,List<String> listeMessageError){ + public static void readDPTIFile( File fichierDPTI,CrueData dataDRSO,CtuluAnalyze listeMessageError){ (new ReaderWithExtra<CrueData>(new CrueDaoPersistDPTI(),dataDRSO,listeMessageError)).read(fichierDPTI, ValidatorXml.xsdDPTI); } @@ -119,7 +121,7 @@ * a partir des donn\xE9es m\xE9tiers fournies. * ATTENTION: DPTG a besoin du fichier DRSO et DFRT car il contient des r\xE9f\xE9rences vers ces objets. */ - public static void readDPTGFile( File fichierDPTG,CrueData dataDRSOetDFRT, List<String> listeMessageError){ + public static void readDPTGFile( File fichierDPTG,CrueData dataDRSOetDFRT, CtuluAnalyze listeMessageError){ (new ReaderWithExtra<CrueData>(new CrueDaoPersistDPTG(),dataDRSOetDFRT,listeMessageError)).read(fichierDPTG, ValidatorXml.xsdDPTG); } @@ -131,7 +133,7 @@ * Attention, il faut fournir en entree les structures de donnees DRSO * car le fichier DSCP ne contient que des references vers les objets d\xE9crits dans DRSO. */ - public static void readDSCPFile( File fichierDSCP,List<EMH> dataDRSO,List<String> listeMessageError){ + public static void readDSCPFile( File fichierDSCP,List<EMH> dataDRSO,CtuluAnalyze listeMessageError){ (new ReaderWithExtra<List<EMH>>(new CrueDaoPersistDCSP(),dataDRSO,listeMessageError)).read(fichierDSCP, ValidatorXml.xsdDCSP); } @@ -142,7 +144,7 @@ * @param fichierDFRT * @return */ - public static List<DonFrt> readDFRTFile( File fichierDFRT,List<String> listeMessageError){ + public static List<DonFrt> readDFRTFile( File fichierDFRT,CtuluAnalyze listeMessageError){ return (new ReaderWithExtra<List<DonFrt>>(new CrueDaoPersistDFRT(),null,listeMessageError)).read(fichierDFRT, ValidatorXml.xsdDFRT); } @@ -154,7 +156,7 @@ * @param fichierOPTG * @return */ - public static DonPrtReseau readOPTGFile( File fichierOPTG,List<String> listeMessageError){ + public static DonPrtReseau readOPTGFile( File fichierOPTG,CtuluAnalyze listeMessageError){ return (new ReaderWithExtra<DonPrtReseau>(new CrueDaoPersistOPTG(),null,listeMessageError)).read(fichierOPTG, ValidatorXml.xsdOPTG); } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10writer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10writer.java 2009-03-24 18:41:34 UTC (rev 4567) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10writer.java 2009-03-24 18:49:39 UTC (rev 4568) @@ -3,12 +3,17 @@ import java.io.File; import java.util.List; +import org.fudaa.ctulu.CtuluAnalyze; + +import main.java.org.fudaa.dodico.crue.commun.CrueRessource; +import main.java.org.fudaa.dodico.crue.dao.CrueDaoParsing; import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDFRT; import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDPTG; import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDPTI; import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDRSO; import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDCSP; import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistOPTG; +import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersit; import main.java.org.fudaa.dodico.crue.metier.emh.CrueData; import main.java.org.fudaa.dodico.crue.metier.emh.DonFrt; import main.java.org.fudaa.dodico.crue.metier.emh.DonPrtReseau; @@ -23,16 +28,35 @@ */ public class Crue10writer { + + protected static class WriterWithExtra<T>{ + + CrueDaoPersit<T> data; + T dataMetier; + + public WriterWithExtra(CrueDaoPersit<T> data,T dataMetier){ + this.data=data; + this.dataMetier=dataMetier; + } + + public boolean write(CtuluAnalyze listeMessageError, File f){ + + listeMessageError.setDesc(CrueRessource.getS(" Analyse du Fichier "+f.getName())); + + data.fillInfosWith(dataMetier,listeMessageError); + CrueDaoParsing<T> parser=new CrueDaoParsing<T>(data); + return parser.persistData(f,listeMessageError); + } + + } + /** * Ecrit le fichier xml \xE0 l'emplacement fichierDRSO * DRSO - Fichier des donn\xE9es du r\xE9seau (xml) * a partir des donn\xE9es m\xE9tiers fournies. */ - public static boolean writeDRSOFile(CrueData data, File fichierDRSO,List<String> listeMessageError){ - CrueDaoPersistDRSO dataPersistante=new CrueDaoPersistDRSO(); - //-- remplissage des donnees persistantes avec les data --// - dataPersistante.fillInfosWith(data,listeMessageError); - return dataPersistante.persistData(fichierDRSO,listeMessageError); + public static boolean writeDRSOFile(CrueData data, File fichierDRSO,CtuluAnalyze listeMessageError){ + return (new WriterWithExtra<CrueData>(new CrueDaoPersistDRSO(),data)).write(listeMessageError, fichierDRSO); } @@ -41,11 +65,10 @@ * DPTI - Le fichier DPTI d\xE9crit les conditions initiales * a partir des donn\xE9es m\xE9tiers fournies. */ - public static boolean writeDPTIFile(CrueData data, File fichierDPTI,List<String> listeMessageError){ - CrueDaoPersistDPTI dataPersistante=new CrueDaoPersistDPTI(); - //-- remplissage des donnees persistantes avec les data --// - dataPersistante.fillInfosWith(data,listeMessageError); - return dataPersistante.persistData(fichierDPTI,listeMessageError); + public static boolean writeDPTIFile(CrueData data, File fichierDPTI,CtuluAnalyze listeMessageError){ + + + return (new WriterWithExtra<CrueData>(new CrueDaoPersistDPTI(),data)).write(listeMessageError, fichierDPTI); } @@ -54,11 +77,8 @@ * DSCP - Le fichier DSCP d\xE9crit les variables de calcul pour les branches * a partir des donn\xE9es m\xE9tiers fournies. */ - public static boolean writeDSCPFile(List<EMH> data, File fichierDSCP,List<String> listeMessageError){ - CrueDaoPersistDCSP dataPersistante=new CrueDaoPersistDCSP(); - //-- remplissage des donnees persistantes avec les data --// - dataPersistante.fillInfosWith(data,listeMessageError); - return dataPersistante.persistData(fichierDSCP,listeMessageError); + public static boolean writeDSCPFile(List<EMH> data, File fichierDSCP,CtuluAnalyze listeMessageError){ + return (new WriterWithExtra<List<EMH>>(new CrueDaoPersistDCSP(),data)).write(listeMessageError, fichierDSCP); } /** @@ -66,11 +86,8 @@ * DFRT - Fichier des frottements (xml) * a partir des donn\xE9es m\xE9tiers fournies. */ - public static boolean writeDFRTFile(List<DonFrt> data, File fichierDFRT,List<String> listeMessageError){ - CrueDaoPersistDFRT dataPersistante=new CrueDaoPersistDFRT(); - //-- remplissage des donnees persistantes avec les data --// - dataPersistante.fillInfosWith(data,listeMessageError); - return dataPersistante.persistData(fichierDFRT,listeMessageError); + public static boolean writeDFRTFile(List<DonFrt> data, File fichierDFRT,CtuluAnalyze listeMessageError){ + return (new WriterWithExtra<List<DonFrt>>(new CrueDaoPersistDFRT(),data)).write(listeMessageError, fichierDFRT); } @@ -79,11 +96,8 @@ * DPTG - Fichier des donn\xE9es de pr\xE9traitement g\xE9om\xE9trique (xml) * a partir des donn\xE9es m\xE9tiers fournies. */ - public static boolean writeDPTGFile(CrueData data, File fichierDPTG,List<String> listeMessageError){ - CrueDaoPersistDPTG dataPersistante=new CrueDaoPersistDPTG(); - //-- remplissage des donnees persistantes avec les data --// - dataPersistante.fillInfosWith(data,listeMessageError); - return dataPersistante.persistData(fichierDPTG,listeMessageError); + public static boolean writeDPTGFile(CrueData data, File fichierDPTG,CtuluAnalyze listeMessageError){ + return (new WriterWithExtra<CrueData>(new CrueDaoPersistDPTG(),data)).write(listeMessageError, fichierDPTG); } /** @@ -93,11 +107,9 @@ * @param fichierOPTG * @return */ - public static boolean writeOPTGFile(DonPrtReseau data, File fichierOPTG,List<String> listeMessageError){ + public static boolean writeOPTGFile(DonPrtReseau data, File fichierOPTG,CtuluAnalyze listeMessageError){ CrueDaoPersistOPTG dataPersistante=new CrueDaoPersistOPTG(); - //-- remplissage des donnees persistantes avec les data --// - dataPersistante.fillInfosWith(data,listeMessageError); - return dataPersistante.persistData(fichierOPTG,listeMessageError); + return (new WriterWithExtra<DonPrtReseau>(new CrueDaoPersistOPTG(),data)).write(listeMessageError, fichierOPTG); } /** Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormat.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormat.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormat.java 2009-03-24 18:49:39 UTC (rev 4568) @@ -0,0 +1,95 @@ +package main.java.org.fudaa.dodico.crue.IO.fileformat; + +import java.io.File; +import java.util.Map; + +import org.fudaa.ctulu.CtuluIOOperationSynthese; +import org.fudaa.ctulu.ProgressionInterface; +import org.fudaa.ctulu.fileformat.FileFormat; +import org.fudaa.ctulu.fileformat.FileFormatUnique; +import org.fudaa.ctulu.fileformat.FileFormatVersionInterface; +import org.fudaa.ctulu.fileformat.FileReadOperationAbstract; +import org.fudaa.ctulu.fileformat.FileWriteOperationAbstract; +import org.fudaa.dodico.commun.DodicoLib; +import org.fudaa.dodico.fichiers.FileFormatSoftware; +import org.fudaa.dodico.mesure.EvolutionFileFormatVersion; +import org.fudaa.dodico.telemac.io.ScopeKeyWord; +import org.fudaa.dodico.telemac.io.ScopeReaderSorT; +import org.fudaa.dodico.telemac.io.ScopeSFileFormat; +import org.fudaa.dodico.telemac.io.ScopeWriterSorT; + +/** + * File format customis\xE9 pour Crue. + * Indique si le fichier est de type crue 9 ou 10. + * Contient un validator xsd pour le fichier donn\xE9. + * Contient une m\xE9thode statique tr\xE8s pratique qui permet de retourner automatiquement le bon FileFormat en fonction du type + * renvoy\xE9. + * @author Adrien Hadoux + * + */ +public abstract class CrueFileFormat extends FileFormatUnique implements EvolutionFileFormatVersion{ + + /** + * Le type du fichier (cf cruedaoCommomFactory.) + */ + String type; + + + protected CrueFileFormat(String type) { + super(1); + extensions_ = getExtensions(); + id_ = "Crue"; + nom_ = "Crue"; + description_ = DodicoLib.getS("Fichier Crue"); + // software_ = FileFormatSoftware.TELEMAC_IS; + this.type=type; + + } + + /** + * retourne les extensions acceptables par le fichier + */ + public abstract String[] getExtensions(); + + /** + * retourne l'infos : est du type crue 10 sinon 9. + * @return + */ + public abstract boolean isCrue10(); + + + + + /** + * retourne le validator xsd. + */ + public abstract String getXsdValidator(); + + /** + * + * @return true si le fichier demand\xE9 s'auto-suffit. Si il a besoin d'autre fichiers (ref ou d\xE9pendances) retourne false. + */ + public abstract boolean isIndependant(); + + public FileReadOperationAbstract createReader() { + //return new ScopeReaderSorT(this); + return null; + } + + + + public FileWriteOperationAbstract createWriter() { + //return new ScopeWriterSorT(this); + return null; + } + + public CtuluIOOperationSynthese readEvolutions(File _f, + ProgressionInterface _prog, Map _options) { + // TODO Auto-generated method stub + return null; + } + + + + +} Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormatManager.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormatManager.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/CrueFileFormatManager.java 2009-03-24 18:49:39 UTC (rev 4568) @@ -0,0 +1,37 @@ +package main.java.org.fudaa.dodico.crue.IO.fileformat; + +import java.util.ArrayList; +import java.util.List; + +import org.fudaa.ctulu.fileformat.FileFormat; + + + +/** + * Manager des formats de fichiers crue. + * Utiliser dans'application et le superviseur. + * @author Adrien Hadoux + * + */ +public class CrueFileFormatManager { + public final static String EXPORT_PREF = "__EXPORT"; + + public static final CrueFileFormatManager INSTANCE = new CrueFileFormatManager(); + + + public static FileFormat[] getCrueFormat(final String _sofwareId) { + final List<FileFormat> r = new ArrayList<FileFormat> (); + + //-- format du fichier ETU --// + r.add(EtuFileFormat.getInstance()); + + + return getArray(r); + } + + public static FileFormat[] getArray(final List _l) { + final FileFormat[] r = new FileFormat[_l.size()]; + _l.toArray(r); + return r; + } +} Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/EtuFileFormat.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/EtuFileFormat.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/fileformat/EtuFileFormat.java 2009-03-24 18:49:39 UTC (rev 4568) @@ -0,0 +1,43 @@ +package main.java.org.fudaa.dodico.crue.IO.fileformat; + +import main.java.org.fudaa.dodico.crue.dao.CrueDaoFactoryCommom; +import main.java.org.fudaa.dodico.crue.dao.validatorXML.ValidatorXml; +/** + * File format du fichier ETU. + * Permet de distinguer ce fichier des autres. + * Utilis\xE9 dans le crue superviseur pour le rep\xE9rer et l'ex\xE9cuter. + * @author Adrien Hadoux + * + */ +public class EtuFileFormat extends CrueFileFormat{ + + private static EtuFileFormat INSTANCE; + + + private EtuFileFormat(){ + super(CrueDaoFactoryCommom.ETU); + } + + public String[] getExtensions() { + return new String[]{"etu","etude","etu.xml","etude.xml"}; + } + + public String getXsdValidator() { + return ValidatorXml.xsdETU; + } + + public boolean isCrue10() { + return true; + } + + public static CrueFileFormat getInstance() { + if(INSTANCE==null) + INSTANCE=new EtuFileFormat(); + return INSTANCE; + } + + public boolean isIndependant() { + return true; + } + +} Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CruePreferences.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CruePreferences.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CruePreferences.java 2009-03-24 18:49:39 UTC (rev 4568) @@ -0,0 +1,31 @@ +package main.java.org.fudaa.dodico.crue.commun; + +import org.fudaa.fudaa.commun.FudaaPreferencesAbstract; +import org.fudaa.fudaa.tr.common.TrPreferences; +/** + * Preferences pour crue. + * @author Adrien Hadoux + * + */ +public class CruePreferences extends FudaaPreferencesAbstract { + public static final String KEY_SERVEUR_PREFIXE = "serveur"; + public static final String KEY_SERVEUR_SHOW_LOG = "serveur.log"; + public static final String KEY_CODE_ID = "crue.code.id"; + + + + /** + * Singleton. + */ + public final static CruePreferences Crue = new CruePreferences(); + + private CruePreferences() { + super(); + } + + @Override + public void applyOn(final Object _o) { + + } +} + Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CrueRessource.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CrueRessource.java 2009-03-24 18:41:34 UTC (rev 4567) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/commun/CrueRessource.java 2009-03-24 18:49:39 UTC (rev 4568) @@ -15,8 +15,8 @@ */ public class CrueRessource extends FudaaResource { - public final static CrueRessource CR = new CrueRessource(BuResource.BU); - + public final static CrueRessource CRUE = new CrueRessource(BuResource.BU); + public final static String SOFTWARE_ID="Crue"; private CrueRessource(final BuResource _b) { super(_b); } @@ -37,17 +37,24 @@ public static BuIcon getMeshIcon() { return EbliResource.EBLI.getIcon("crue"); } - - public static String getMeshName() { - return CrueRessource.getS("Meshview"); + + public static BuIcon getLogo() { + return EbliResource.EBLI.getIcon("logo-crue"); } + + public BuIcon getIcon(String val) { + return EbliResource.EBLI.getIcon(val); + } +// public static String getMeshName() { +// return CrueRessource.getS("Meshview"); +// } public static BuIcon getSupervisorIcon() { - return EbliResource.EBLI.getIcon("crue-super"); + return EbliResource.EBLI.getIcon("crystal16_browser.png"); } public static BuIcon getCrueIcon() { - return EbliResource.EBLI.getIcon("crue-post"); + return EbliResource.EBLI.getIcon("aproposde_32.gif"); } public static BuIcon getScopIcon() { @@ -61,5 +68,9 @@ public static String getEditorName() { return CrueRessource.getS("Editeur"); } + + public static BuIcon getEditorIcon(){ + return EbliResource.EBLI.getIcon("texte"); + } } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java 2009-03-24 18:41:34 UTC (rev 4567) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java 2009-03-24 18:49:39 UTC (rev 4568) @@ -3,6 +3,8 @@ import java.util.Date; import java.util.List; +import org.fudaa.ctulu.CtuluAnalyze; + import main.java.org.fudaa.dodico.crue.commun.CrueRessource; import main.java.org.fudaa.dodico.crue.metier.emh.PtProfil; @@ -57,7 +59,7 @@ * @param nameError * @return */ - public static PtProfil createFormString(StringBuffer buff,List<String> listeMessageError,String nameError ){ + public static PtProfil createFormString(StringBuffer buff,CtuluAnalyze analyser,String nameError ){ int indiceCesure=buff.lastIndexOf(" "); String val1=buff.substring(0, indiceCesure); String val2=buff.substring(indiceCesure+1, buff.length()); @@ -66,20 +68,20 @@ x=Double.parseDouble(val1); }catch(NumberFormatException e){ - listeMessageError.add(CrueRessource.getS("Profil: "+nameError+": impossible de r\xE9cup\xE9rer la lim debut du contenu: "+buff)); + analyser.addInfo(CrueRessource.getS("Profil: "+nameError+": impossible de r\xE9cup\xE9rer la lim debut du contenu: "+buff)); } double y=0; try{ y=Double.parseDouble(val2); }catch(NumberFormatException e){ - listeMessageError.add(CrueRessource.getS("Profil: "+nameError+": impossible de r\xE9cup\xE9rer la lim debut du contenu: "+buff)); + analyser.addInfo(CrueRessource.getS("Profil: "+nameError+": impossible de r\xE9cup\xE9rer la lim debut du contenu: "+buff)); } PtProfil profil=new PtProfil(x,y); return profil; } - public static PtProfil createFormString(String buff,List<String> listeMessageError,String nameError ){ - return createFormString(new StringBuffer(buff), listeMessageError, nameError); + public static PtProfil createFormString(String buff,CtuluAnalyze analyser,String nameError ){ + return createFormString(new StringBuffer(buff), analyser, nameError); } @@ -143,4 +145,9 @@ } + + + + + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDCSP.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDCSP.java 2009-03-24 18:41:34 UTC (rev 4567) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDCSP.java 2009-03-24 18:49:39 UTC (rev 4568) @@ -3,6 +3,8 @@ import java.util.ArrayList; import java.util.List; +import org.fudaa.ctulu.CtuluAnalyze; + import main.java.org.fudaa.dodico.crue.commun.CrueRessource; import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatDCSP.ElemSeuil; import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatDCSP.ElemSeuilOrifice; @@ -42,8 +44,8 @@ */ public class CrueDaoFactoryDCSP { + public static int cptEntries=1; - /** * Remplit completement la structure persistante a partir des objets DSCP. * @@ -53,7 +55,7 @@ * @param data * @param listeMessageError */ - public static void remplirPersistanceDCSP(CrueDaoPersistDCSP persistance,List<EMH> data,List<String> listeMessageError){ + public static void remplirPersistanceDCSP(CrueDaoPersistDCSP persistance,List<EMH> data,CtuluAnalyze analyser){ persistance.Sections=new ArrayList<SectionBrancheAbstract>(); persistance.Branches=new ArrayList<BrancheAbstract>(); @@ -62,7 +64,7 @@ //CrueDaoFactoryDCSP.remplirPersistanceAvecBrancheDSCP(persistance.Branches,data,listeMessageError); if(data==null || data.size()==0){ - listeMessageError.add(CrueDaoFactoryCommom.emhEmpty(CrueDaoFactoryCommom.DCSP)); + analyser.addError(CrueDaoFactoryCommom.emhEmpty(CrueDaoFactoryCommom.DCSP),cptEntries++); }else for(EMH emh:data ){ if(emh instanceof CatEMHBranche){ @@ -72,9 +74,9 @@ List<DonCalcSansPrt> listeDoncalc=branche.getDSCP(); for(DonCalcSansPrt dataCalc:listeDoncalc){ if(dataCalc!=null ){ - CrueDaoFactoryDCSP.remplirPersistanceAvecBrancheDSCP(persistance.Branches,branche,dataCalc,listeMessageError); + CrueDaoFactoryDCSP.remplirPersistanceAvecBrancheDSCP(persistance.Branches,branche,dataCalc,analyser); }else{ - listeMessageError.add(CrueDaoFactoryCommom.unknowdataFromFile("Branches", CrueDaoFactoryCommom.DCSP, branche.getNom())); + analyser.addError(CrueDaoFactoryCommom.unknowdataFromFile("Branches", CrueDaoFactoryCommom.DCSP, branche.getNom()),cptEntries++); } } @@ -84,10 +86,10 @@ for(DonCalcSansPrt dataCalc:listeDoncalc){ if(dataCalc!=null && dataCalc instanceof DonCalcSansPrtSection){ //-- remplissage des sections --// - remplirPersistanceAvecSectionsBrancheDSCP(persistance.Sections, section,(DonCalcSansPrtSection)dataCalc, listeMessageError); + remplirPersistanceAvecSectionsBrancheDSCP(persistance.Sections, section,(DonCalcSansPrtSection)dataCalc, analyser); }else{ - listeMessageError.add(CrueDaoFactoryCommom.unknowdataFromFile("Section", CrueDaoFactoryCommom.DCSP, section.getNom())); + analyser.addError(CrueDaoFactoryCommom.unknowdataFromFile("Section", CrueDaoFactoryCommom.DCSP, section.getNom()),cptEntries++); } @@ -109,20 +111,20 @@ * * @param persistance * @param data - * @param listeMessageError + * @param analyser */ - public static void remplirMetierDCSP(CrueDaoPersistDCSP persistance,List<EMH> data,List<String> listeMessageError){ + public static void remplirMetierDCSP(CrueDaoPersistDCSP persistance,List<EMH> data,CtuluAnalyze analyser){ //-- remplissage des branches --// - CrueDaoFactoryDCSP.remplirBrancheAvecPersistanceDSCP(persistance.Branches, data,listeMessageError); + CrueDaoFactoryDCSP.remplirBrancheAvecPersistanceDSCP(persistance.Branches, data,analyser); //-- remplissage des sections --// - CrueDaoFactoryDCSP.remplirSectionsAvecPersistanceDSCP(persistance.Sections, data, listeMessageError); + CrueDaoFactoryDCSP.remplirSectionsAvecPersistanceDSCP(persistance.Sections, data, analyser); } @@ -132,7 +134,7 @@ * @param data * @return */ - public static void remplirPersistanceAvecBrancheDSCP(List<BrancheAbstract> listePersistante,CatEMHBranche branche,DonCalcSansPrt dataCalc,List<String> listeMessageError){ + public static void remplirPersistanceAvecBrancheDSCP(List<BrancheAbstract> listePersistante,CatEMHBranche branche,DonCalcSansPrt dataCalc,CtuluAnalyze analyser){ String suffixe=CrueDaoPersistDRSO.SUFFIXE_REF_DRSO; BrancheAbstract branchePersist=null; if (branche instanceof EMHBrancheBarrageFilEau) { @@ -152,7 +154,7 @@ br.ElemSeuils=remplirPersistanceAvecSeuilsBarragesDSCP(((DonCalcSansPrtBarrageFilEau)dataCalc).getListElt()); }else{ - listeMessageError.add(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche barrage Fil d'eau) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche barrage Fil d'eau) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); } @@ -173,7 +175,7 @@ br.ElemSeuils=remplirPersistanceAvecSeuilsBarragesDSCP(((DonCalcSansPrtBarrageFilEau)dataCalc).getListElt()); }else{ - listeMessageError.add(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche barrage Generique) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche barrage Generique) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); } @@ -195,7 +197,7 @@ br.ElemSeuils=remplirPersistanceAvecSeuilsBarragesDSCP(((DonCalcSansPrtBarrageFilEau)dataCalc).getListElt()); }else{ - listeMessageError.add(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche barrage Rhone) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche barrage Rhone) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); } @@ -225,7 +227,7 @@ //-- on remplit la liste des elements seuils --// br.ElemOrifices =remplirPersistanceAvecOrificesSeuilsDSCP(((DonCalcSansPrtBrancheOrifice)dataCalc).getElement()); }else{ - listeMessageError.add(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche Orifice) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche Orifice) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); } @@ -244,7 +246,7 @@ br.Loi=((DonCalcSansPrtBranchePDC)dataCalc).getPdc_DZ().getNom(); }else{ - listeMessageError.add(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche seuil Longitudinal) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche seuil Longitudinal) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); } @@ -263,9 +265,9 @@ br.CoefRuisQdm=((DonCalcSansPrtBrancheSaintVenant)dataCalc).getCoeffRuisQdm(); // //-- remplissage des sections de branches --// - // br.Sections=remplirPersistanceAvecSectionsBrancheDSCP( branche.getListeSections(), listeMessageError); + // br.Sections=remplirPersistanceAvecSectionsBrancheDSCP( branche.getListeSections(), analyser); }else{ - listeMessageError.add(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche SaintVenant) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche SaintVenant) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); } @@ -286,7 +288,7 @@ br.ElemSeuils=remplirPersistanceAvecSeuilsDSCP(((DonCalcSansPrtBrancheSeuilLateral)dataCalc).getListElt()); }else{ - listeMessageError.add(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche seuil Longitudinal) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche seuil Longitudinal) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); } @@ -303,7 +305,7 @@ //-- on remplit la liste des elements seuils --// br.ElemSeuils=remplirPersistanceAvecSeuilsDSCP(((DonCalcSansPrtBrancheSeuilTransversal)dataCalc).getListElt()); }else{ - listeMessageError.add(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche seuil transversal) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + analyser.addError(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche seuil transversal) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom()),cptEntries++); } @@ -321,7 +323,7 @@ listePersistante.add(branchePersist); }else{ - listeMessageError.add(CrueDaoFactoryCommom.unknowEMH("Branche", branche.getNom())); + analyser.addError(CrueDaoFactoryCommom.unknowEMH("Branche", branche.getNom()),cptEntries++); } @@ -401,7 +403,7 @@ * @param data * @return */ - public static void remplirPersistanceAvecSectionsBrancheDSCP(List<SectionBrancheAbstract> listePersistante,CatEMHSection section,DonCalcSansPrtSection prtSection,List<String> listeMessageError){ + public static void remplirPersistanceAvecSectionsBrancheDSCP(List<SectionBrancheAbstract> listePersistante,CatEMHSection section,DonCalcSansPrtSection prtSection,CtuluAnalyze analyser){ SectionBrancheAbstract sectionPersist=null; @@ -439,9 +441,9 @@ * @param data * @return */ -public static void remplirBrancheAvecPersistanceDSCP(List<BrancheAbstract> listePersistants,List<EMH> data,List<String> listeMessageError ){ +public static void remplirBrancheAvecPersistanceDSCP(List<BrancheAbstract> listePersistants,List<EMH> data,CtuluAnalyze analyser ){ if(listePersistants==null || listePersistants.size()==0){ - listeMessageError.add(CrueRessource.getS("Branches: la liste est vide.")); + analyser.addError(CrueRessource.getS("Branches: la liste est vide."),cptEntries++); }else for(Object persist:listePersistants ){ if(persist instanceof BrancheAbstract){ @@ -452,7 +454,7 @@ } CatEMHBranche branche=CatEMHBranche.findByReference(reference, data); if(branche==null){ - listeMessageError.add(CrueRessource.getS("Branche : Impossible de trouver la branche de r\xE9f\xE9rence "+reference)); + analyser.addError(CrueRessource.getS("Branche : Impossible de trouver la branche de r\xE9f\xE9rence "+reference),cptEntries++); }else{ if(branchePersist instanceof BrancheClassiqueAbstract){ BrancheClassiqueAbstract br=(BrancheClassiqueAbstract)branchePersist; @@ -462,7 +464,7 @@ dataCalcul.setCoeffRuisQdm(br.CoefRuisQdm); branche.addDSCP(dataCalcul); //-- remplissage des sections --// - // remplirSectionsAvecPersistanceDSCP(br.Sections, branche, listeMessageError); + // remplirSectionsAvecPersistanceDSCP(br.Sections, branche, analyser); } //-- branche seuil --// else if(branchePersist instanceof BrancheSeuilAbstract){ @@ -486,7 +488,7 @@ dataCalcul.setListElt(remplirSeuilsAvecPersistanceDSCP(br.ElemSeuils)); branche.addDSCP(dataCalcul); }else{ - listeMessageError.add(CrueRessource.getS("Branche : Les donnees de la branche de r\xE9f\xE9rence "+reference+" doivent \xEAtre de type Transversal ou Longitudinal (liste de seuils+ formule pdc)")); + analyser.addError(CrueRessource.getS("Branche : Les donnees de la branche de r\xE9f\xE9rence "+reference+" doivent \xEAtre de type Transversal ou Longitudinal (liste de seuils+ formule pdc)"),cptEntries++); } } @@ -529,7 +531,7 @@ else{ - listeMessageError.add(CrueRessource.getS("Branche : Donn\xE9es non correcte. La branche de r\xE9f\xE9rence "+reference+" contient des \xE9l\xE9ments de calcul innatendu.")); + analyser.addError(CrueRessource.getS("Branche : Donn\xE9es non correcte. La branche de r\xE9f\xE9rence "+reference+" contient des \xE9l\xE9ments de calcul innatendu."),cptEntries++); } } @@ -605,10 +607,10 @@ * @param data * @return */ -public static void remplirSectionsAvecPersistanceDSCP(List<SectionBrancheAbstract> listePersistantsSection,List<EMH> data,List<String> listeMessageError){ +public static void remplirSectionsAvecPersistanceDSCP(List<SectionBrancheAbstract> listePersistantsSection,List<EMH> data,CtuluAnalyze analyser){ if(listePersistantsSection==null || listePersistantsSection.size()==0){ - listeMessageError.add(CrueRessource.getS("Sections : la liste est vide.")); + analyser.addError(CrueRessource.getS("Sections : la liste est vide."),cptEntries++); }else for(Object persist:listePersistantsSection ){ if(persist instanceof SectionBrancheAbstract){ @@ -632,7 +634,7 @@ section.addDSCP(dataCalcul); } else - listeMessageError.add(CrueDaoFactoryCommom.unknowReference("Section",reference)); + analyser.addError(CrueDaoFactoryCommom.unknowReference("Section",reference),cptEntries++); } } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDFRT.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDFRT.java 2009-03-24 18:41:34 UTC (rev 4567) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDFRT.java 2009-03-24 18:49:39 UTC (rev 4568) @@ -13,6 +13,7 @@ import main.java.org.fudaa.dodico.crue.metier.emh.StriRefH; import main.java.org.fudaa.dodico.crue.metier.emh.StriRefZ; +import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ebli.geometrie.GrPoint; /** @@ -21,12 +22,15 @@ * */ public class CrueDaoFactoryDFRT { + + public static int cptEntries=1; + /** * remplir le fichier DFRT avec les frottemetns * @param data * @return */ - public static List<StriRefPersist> remplirPersistanceAvecFrottemetnsDFRT(List<DonFrt> data,List<String> listeMessageError){ + public static List<StriRefPersist> remplirPersistanceAvecFrottemetnsDFRT(List<DonFrt> data,CtuluAnalyze analyser){ List<StriRefPersist> listeFrottement=new ArrayList<StriRefPersist>(); for(DonFrt frt:data){ StriRefPersist persist=null; @@ -60,10 +64,10 @@ * @param data * @return */ - public static List<DonFrt> remplirFrottemetnsAvecPersistanceDFRT(List<StriRefPersist> persistListe,List<String> listeMessageError){ + public static List<DonFrt> remplirFrottemetnsAvecPersistanceDFRT(List<StriRefPersist> persistListe,CtuluAnalyze analyser){ List<DonFrt> data=new ArrayList<DonFrt>(); if(persistListe==null || persistListe.size()==0){ - listeMessageError.add(CrueRessource.getS("Frottements : la liste est vide.")); + analyser.addError(CrueRessource.getS("Frottements : la liste est vide."),cptEntries++); }else for(StriRefPersist persist:persistListe){ DonFrt frt=null; @@ -91,13 +95,13 @@ x=Double.parseDouble(val1); }catch(NumberFormatException e){ - listeMessageError.add(CrueRessource.getS("Frottement: "+frt.getNom()+": impossible de r\xE9cup\xE9rer le r\xE9el du contenu: "+buff)); + analyser.addError(CrueRessource.getS("Frottement: "+frt.getNom()+": impossible de r\xE9cup\xE9rer le r\xE9el du contenu: "+buff),cptEntries++); } double y=0; try{ y=Double.parseDouble(val2); }catch(NumberFormatException e){ - listeMessageError.add(CrueRessource.getS("Frottement: "+frt.getNom()+": impossible de r\xE9cup\xE9rer le r\xE9el du contenu: "+buff)); + analyser.addError(CrueRessource.getS("Frottement: "+frt.getNom()+": impossible de r\xE9cup\xE9rer le r\xE9el du contenu: "+buff),cptEntries++); } listePoints.add(new GrPoint(x,y,0)); Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDPTG.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDPTG.java 2009-03-24 18:41:34 UTC (rev 4567) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDPTG.java 2009-03-24 18:49:39 UTC (rev 4568) @@ -3,6 +3,8 @@ import java.util.ArrayList; import java.util.List; +import org.fudaa.ctulu.CtuluAnalyze; + import com.lowagie.text.Section; @@ -36,7 +38,7 @@ */ public class CrueDaoFactoryDPTG { - + public static int cptEntries=1; /** * Remplit completement la structure persistante a partir des objets donPrtGeo. * @@ -46,7 +48,7 @@ * @param data * @param listeMessageError */ - public static void remplirPersistanceDPTG(CrueDaoPersistDPTG persistance,CrueData data,List<String> listeMessageError){ + public static void remplirPersistanceDPTG(CrueDaoPersistDPTG persistance,CrueData data,CtuluAnalyze analyser){ //-- liste qui assure d'ajouter une seule r\xE9f\xE9rence de profil: car un meme profil peut etre referenc\xE9 plusieurs fois List<DonPrtGeoProfilCommun> listeProfilUniqueReference=new ArrayList<DonPrtGeoProfilCommun>(); @@ -56,7 +58,7 @@ persistance.Sections=new ArrayList<SectionIdem>(); if(data.getAllEMH()==null || data.getAllEMH().size()==0){ - listeMessageError.add(CrueRessource.getS("DPTG: la liste est vide.")); + analyser.addError(CrueRessource.getS("DPTG: la liste est vide."),cptEntries++); }else for(EMH emh:data.getAllEMH() ){ if(emh.getDPTG()!=null){ @@ -68,15 +70,15 @@ //-- c'est un profil if(donnee instanceof DonPrtGeoProfilCommun){ if(!listeProfilUniqueReference.contains((DonPrtGeoProfilCommun)donnee)){ - remplirPersistanceAvecProfilsDPTG(persistance.Profils ,(DonPrtGeoProfilCommun)donnee, listeMessageError); + remplirPersistanceAvecProfilsDPTG(persistance.Profils ,(DonPrtGeoProfilCommun)donnee, analyser); //-- on enregistre la reference --// listeProfilUniqueReference.add((DonPrtGeoProfilCommun)donnee); } }else if(donnee instanceof DonPrtGeoSectionIdem){ - remplirPersistanceAvecSectionsDPTG(persistance.Sections, (DonPrtGeoSectionIdem)donnee, emh, listeMessageError); + remplirPersistanceAvecSectionsDPTG(persistance.Sections, (DonPrtGeoSectionIdem)donnee, emh, analyser); }else if (donnee instanceof DonPrtGeoBrancheSaintVenant){ - remplirPersistanceAvecBranchesDPTG(persistance.Branches, emh, (DonPrtGeoBrancheSaintVenant)donnee, listeMessageError); + remplirPersistanceAvecBranchesDPTG(persistance.Branches, emh, (DonPrtGeoBrancheSaintVenant)donnee, analyser); } } @@ -88,10 +90,10 @@ * Remplit la premiere partie du fichier DPTG avec les 2 types d'objets: * casiers profils ou sections profils. * @param data - * @param listeMessageError + * @param analyser * @return */ - public static void remplirPersistanceAvecProfilsDPTG(List<profilDPTG> listePersistante,DonPrtGeoProfilCommun prtgeo,List<String> listeMessageError){ + public static void remplirPersistanceAvecProfilsDPTG(List<profilDPTG> listePersistante,DonPrtGeoProfilCommun prtgeo,CtuluAnalyze analyser){ profilDPTG profilPersistant=null; @@ -126,7 +128,7 @@ //-- on ajoute le nom avec un suffixe --// litPersist.Frot.NomRef=CrueDaoPersistDFRT.SUFFIXE_REF_DFRT+ litMetier.getMDonFrt().getNom(); }else{ - listeMessageError.add(CrueRessource.getS("LitNumerote du casierProfil"+prtgeo.getNom()+": pas de frottement existant")); + analyser.addError(CrueRessource.getS("LitNumerote du casierProfil"+prtgeo.getNom()+": pas de frottement existant"),cptEntries++); } //-- ajout du lit persistant --// @@ -134,7 +136,7 @@ } }else{ - listeMessageError.add(CrueRessource.getS("Profil "+prtgeo.getNom()+": aucun litNumerotes existant")); + analyser.addError(CrueRessource.getS("Profil "+prtgeo.getNom()+": aucun litNumerotes existant"),cptEntries++); } //-- ecriture des series pt --// @@ -145,7 +147,7 @@ profilPersistant.Serie.add(buff); } }else{ - listeMessageError.add(CrueRessource.getS("Profil "+prtgeo.getNom()+": aucune s\xE9rie existante")); + analyser.addError(CrueRessource.getS("Profil "+prtgeo.getNom()+": aucune s\xE9rie existante"),cptEntries++); } //-- ajout du profil persistant --// @@ -156,7 +158,7 @@ - public static void remplirPersistanceAvecSectionsDPTG(List<SectionIdem> listePersistante,DonPrtGeoSectionIdem prtgeo,EMH emh,List<String> listeMessageError){ + public static void remplirPersistanceAvecSectionsDPTG(List<SectionIdem> listePersistante,DonPrtGeoSectionIdem prtgeo,EMH emh,CtuluAnalyze analyser){ SectionIdem sectionPersist=new SectionIdem(); sectionPersist.NomRef=CrueDaoPersistDRSO.SUFFIXE_REF_DRSO+emh.getNom(); @@ -164,7 +166,7 @@ listePersistante.add(sectionPersist); } - public static void remplirPersistanceAvecBranchesDPTG(List<BrancheSaintVenant> listePersistante,EMH emh,DonPrtGeoBrancheSaintVenant prtgeo,List<String> listeMessageError){ + public static void remplirPersistanceAvecBranchesDPTG(List<BrancheSaintVenant> listePersistante,EMH emh,DonPrtGeoBrancheSaintVenant prtgeo,CtuluAnalyze analyser){ BrancheSaintVenant branchePersist=new BrancheSaintVenant(); branchePersist.NomRef=CrueDaoPersistDRSO.SUFFIXE_REF_DRSO+emh.getNom(); branchePersist.CoefSinuo=prtgeo.getCoefSinuo(); @@ -182,31 +184,31 @@ * @param persistance * @param data * @param frottements - * @param listeMessageError + * @param analyser */ - public static void remplirMetierDPTG(CrueDaoPersistDPTG persistance,CrueData data,List<String> listeMessageError){ + public static void remplirMetierDPTG(CrueDaoPersistDPTG persistance,CrueData data,CtuluAnalyze analyser){ if(persistance==null ){ - listeMessageError.add(CrueRessource.getS("DPTG: Aucunes donn\xE9es DPTG.")); + analyser.addError(CrueRessource.getS("DPTG: Aucunes donn\xE9es DPTG."),cptEntries++); }else { //-- cas des Profils --// - remplirProfilsAvecPersistencaDPTG(persistance.Profils,data.getAllEMH(), data.getFrottements(), listeMessageError); + remplirProfilsAvecPersistencaDPTG(persistance.Profils,data.getAllEMH(), data.getFrottements(), analyser); //-- cas des Sections --// - remplirSectionsAvecPersistencaDPTG(persistance.Sections, data.getSections(), listeMessageError); + remplirSectionsAvecPersistencaDPTG(persistance.Sections, data.getSections(), analyser); //-- cas des branches --// - remplirBranchesAvecPersistanceDPTG(persistance.Branches, data.getBranches(), listeMessageError); + remplirBranchesAvecPersistanceDPTG(persistance.Branches, data.getBranches(), analyser); } } - public static void remplirProfilsAvecPersistencaDPTG(List<profilDPTG> listePersistante,List<EMH> data,List<DonFrt> frottements,List<String> listeMessageError){ + public static void remplirProfilsAvecPersistencaDPTG(List<profilDPTG> listePersistante,List<EMH> data,List<DonFrt> frottements,CtuluAnalyze analyser){ if(listePersistante==null || listePersistante.size()==0){ - listeMessageError.add(CrueRessource.getS("DPTG: Aucunes donn\xE9es pour les profils.")); + analyser.addError(CrueRessource.getS("DPTG: Aucunes donn\xE9es pour les profils."),cptEntries++); return; } for(profilDPTG profilPersist:listePersistante){ @@ -226,7 +228,7 @@ if(listeEMHUtilisantProfil==null || listeEMHUtilisantProfil.size()==0){ - listeMessageError.add(CrueRessource.getS("Reference Profil DPTG : Impossible de trouver le profil de nom "+profil+" dans la liste des casier profils et sections profils de DRSO.")); + analyser.addError(CrueRessource.getS("Reference Profil DPTG : Impossible de trouver le profil de nom "+profil+" dans la liste des casier profils et sections profils de DRSO."),cptEntries++); }else{ //-- on r\xE9cup\xE8re le casier ou le profil et on le stocke dans le emh --// @@ -250,9 +252,9 @@ for(Lit litPersist:profilPersist.Lits){ LitNumerote litNum=new LitNumerote(); - PtProfil ptProfil=CrueDaoFactoryCommom.createFormString(litPersist.LimDeb, listeMessageError, profil); + PtProfil ptProfil=CrueDaoFactoryCommom.createFormString(litPersist.LimDeb, analyser, profil); litNum.setDebut(ptProfil); - ptProfil=CrueDaoFactoryCommom.createFormString(litPersist.LimFin, listeMessageError, profil); + ptProfil=CrueDaoFactoryCommom.createFormString(litPersist.LimFin, analyser, profil); litNum.setFin(ptProfil); litNum.setEstActif(litPersist.IsActif); litNum.setEstMineur(litPersist.IsMineur); @@ -269,7 +271,7 @@ if(frottement!=null) litNum.setMDonFrt(frottement); else{ - listeMessageError.add(CrueRessource.getS("Profil: "+profil+": Aucun DonFrt de DFRT ne correspond au DonFrt de r\xE9f\xE9rence : "+idFrottement)); + analyser.addError(CrueRessource.getS("Profil: "+profil+": Aucun DonFrt de DFRT ne correspond au DonFrt de r\xE9f\xE9rence : "+idFrottement),cptEntries++); } } @@ -284,7 +286,7 @@ }else{ - listeMessageError.add(CrueRessource.getS("Profil "+profilPersist.Nom+": aucun litNumerotes existant")); + analyser.addError(CrueRessource.getS("Profil "+profilPersist.Nom+": aucun litNumerotes existant"),cptEntries++); } @@ -293,7 +295,7 @@ List<PtProfil> listeProfils=new ArrayList<PtProfil>(); for(StringBuffer buff:profilPersist.Serie){ - PtProfil ptProfil=CrueDaoFactoryCommom.createFormString(buff, listeMessageError, profil); + PtProfil ptProfil=CrueDaoFactoryCommom.createFormString(buff, analyser, profil); listeProfils.add(ptProfil); } @@ -301,7 +303,7 @@ profilGeo.setListeProfils(listeProfils); }else{ - listeMessageError.add(CrueRessource.getS("Profil "+profilPersist.Nom+": aucune s\xE9ries existantes")); + analyser.addError(CrueRessource.getS("Profil "+profilPersist.Nom+": aucune s\xE9ries existantes"),cptEntries++); } @@ -316,10 +318,10 @@ } - public static void remplirSectionsAvecPersistencaDPTG(List<SectionIdem> listePersistante,List<CatEMHSection> data,List<String> listeMessageError){ + public static void remplirSectionsAvecPersistencaDPTG(List<SectionIdem> listePersistante,List<CatEMHSection> data,CtuluAnalyze analyser){ if(listePersistante==null || listePersistante.size()==0){ - listeMessageError.add(CrueRessource.getS("DPTG: Aucunes donn\xE9es pour les sections.")); + analyser.addError(CrueRessource.getS("DPTG: Aucunes donn\xE9es pour les sections."),cptEntries++); return; } for(SectionIdem sectionPersist:listePersistante){ @@ -331,7 +333,7 @@ } CatEMHSection section=CatEMHSection.findByReference(reference, data); if(section==null){ - listeMessageError.add(CrueRessource.getS("Reference Section DPTG : Impossible de trouver la section de r\xE9f\xE9rence "+reference)); + analyser.addError(CrueRessource.getS("Reference Section DPTG : Impossible de trouver la section de r\xE9f\xE9rence "+reference),cptEntries++); }else{ DonPrtGeoSectionIdem prtgeo=new DonPrtGeoSectionIdem(); prtgeo.setDW(sectionPersist.Dz); @@ -341,9 +343,9 @@ } } - public static void remplirBranchesAvecPersistanceDPTG(List<BrancheSaintVenant> listePersistante,List<CatEMHBranche> data,List<String> listeMessageError){ + public static void remplirBranchesAvecPersistanceDPTG(List<BrancheSaintVenant> listePersistante,List<CatEMHBranche> data,CtuluAnalyze analyser){ if(listePersistante==null || listePersistante.size()==0){ - listeMessageError.add(CrueRessource.getS("DPTG: Aucunes donn\xE9es pour les branches.")); + analyser.addError(CrueRessource.getS("DPTG: Aucunes donn\xE9es pour les branches."),cptEntries++); return; } for(BrancheSaintVenant branchePersist:listePersistante){ @@ -355,7 +357,7 @@ } CatEMHBranche branche=CatEMHBranche.findByReference(reference, data); if(branche==null){ - listeMessageError.add(CrueRessource.getS("Reference Branche DPTG : Impossible de trouver la Branche de r\xE9f\xE9rence "+reference)); + analyser.addError(CrueRessource.getS("Reference Branche DPTG : Impossible de trouver la Branche de r\xE9f\xE9rence "+reference),cptEntries++); }else{ DonPrtGeoBrancheSaintVenant prtgeo=new DonPrtGeoBrancheSaintVenant(); prtgeo.setCoefSinuo(branchePersist.CoefSinuo); Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico... [truncated message content] |
From: <had...@us...> - 2009-03-24 18:41:53
|
Revision: 4567 http://fudaa.svn.sourceforge.net/fudaa/?rev=4567&view=rev Author: hadouxad Date: 2009-03-24 18:41:34 +0000 (Tue, 24 Mar 2009) Log Message: ----------- - corrections prepro - ajout de la var env pour le jar de documentation pdf fudaa Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuFileFilter.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrApplicationManager.java Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuFileFilter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuFileFilter.java 2009-03-24 18:03:47 UTC (rev 4566) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuFileFilter.java 2009-03-24 18:41:34 UTC (rev 4567) @@ -71,6 +71,13 @@ } return false; } + + public boolean acceptExtension( String extension) { + + if ((extension != null) && (filters_.get(extension) != null)) return true; + return false; + } + public boolean accept(File _d, String _fn) { File f = new File(_fn); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java 2009-03-24 18:03:47 UTC (rev 4566) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java 2009-03-24 18:41:34 UTC (rev 4567) @@ -133,6 +133,9 @@ BuPanel thumbscrollContainer; BuPanel conteneurPdf_; + public static String FUDAA_HOME="FUDAA_HOME"; + public static String nomRep="doc"; + public static String nomFichierJar="Fudaa-preproDocumentation.jar"; /** * path par defaut de la documentation @@ -148,9 +151,17 @@ public FudaaHelpPDFViewer(String pathFichierJar,FudaaCommonImplementation _ui,boolean useThumbs) { ui_=_ui; //-- tentative de verification que le jar existe bien a cet emplacement --// + String pathFudaa=System.getenv(FUDAA_HOME); - //TODO a decommenter virer le lien en dur, pour dev et test - pathFichierJar=PATH_JAR_DOCUM; + if(pathFudaa==null){ + ui_.error(FudaaResource.FUDAA.getString("Erreur, il n'existe pas de variable d'environnement "+FUDAA_HOME+"\n Pour faire fonctionner l'aide, il faut:\n - Cr\xE9er une variable d'environnement avec le chemin Fudaa," + + "\n - cr\xE9er un r\xE9pertoire "+nomRep+" \n - y d\xE9poser le jar de nom "+nomFichierJar)); + //-- rechercher le lien de la bvar environement FUDAA_HOME + pathFichierJar=PATH_JAR_DOCUM; + } + else + pathFichierJar=pathFudaa+File.separator+nomRep+File.separator+nomFichierJar; + patJarDocAide_=verifPathForJarIsCorrect(pathFichierJar); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrApplicationManager.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrApplicationManager.java 2009-03-24 18:03:47 UTC (rev 4566) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrApplicationManager.java 2009-03-24 18:41:34 UTC (rev 4567) @@ -325,7 +325,7 @@ /** */ public FudaaExecEditor() { - super("prepro"); + super("Crue"); } @Override This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-24 18:04:08
|
Revision: 4566 http://fudaa.svn.sourceforge.net/fudaa/?rev=4566&view=rev Author: bmarchan Date: 2009-03-24 18:03:47 +0000 (Tue, 24 Mar 2009) Log Message: ----------- Tache #205 : R?\195?\169orientation correcte des profils. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueBief.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java 2009-03-24 15:34:57 UTC (rev 4565) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java 2009-03-24 18:03:47 UTC (rev 4566) @@ -28,6 +28,7 @@ import org.fudaa.fudaa.modeleur.layer.MdlModel1dLimiteStockage; import org.fudaa.fudaa.modeleur.layer.MdlModel2dConstraintLine; import org.fudaa.fudaa.modeleur.layer.MdlModel2dDirectionLine; +import org.fudaa.fudaa.modeleur.layer.MdlModel2dLine; import org.fudaa.fudaa.modeleur.layer.MdlModel2dProfile; import org.fudaa.fudaa.modeleur.modeleur1d.model.Bief; import org.fudaa.fudaa.modeleur.modeleur1d.model.UtilsBief1d; @@ -53,7 +54,7 @@ private ZModeleLigneBrisee[] models_; // Les mod\xE8les en fonction de le contenu. Se sont les m\xEAmes que dans models_. private ZModeleLigneBrisee axeHydraulique_; - private ZModeleLigneBrisee profils_; + private MdlModel2dLine profils_; private ZModeleLigneBrisee rives_; private ZModeleLigneBrisee limitesStockages_; private ZModeleLigneBrisee lignesDirectrices_; @@ -150,7 +151,7 @@ // Inversion du sens du profil si besoin double produitVectorielCoordZ=vAxeH.x*vProfilH.y-vAxeH.y*vProfilH.x; if (produitVectorielCoordZ>0) { - inverseProfil(k); + profils_.invertOrientation(k,null); profil=(Geometry)profils_.getGeomData().getGeometry(k); seqProfil=((GISCoordinateSequenceContainerInterface)profil).getCoordinateSequence(); } @@ -344,7 +345,7 @@ if (profils_!=null) throw new IllegalArgumentException(FudaaLib.getS("Plusieurs models de profils sont donn\xE9es.")); else - profils_=models_[i]; + profils_=(MdlModel2dLine)models_[i]; else if (nature==GISAttributeConstants.ATT_NATURE_RV) if (rives_!=null) throw new IllegalArgumentException(FudaaLib.getS("Plusieurs models de rives sont donn\xE9es.")); @@ -375,29 +376,6 @@ } /** - * Inverse le sens du profil dont l'index est pass\xE9 en param\xE8tre. - */ - private void inverseProfil(int _idxProfil) { - GISZoneCollection zone=profils_.getGeomData(); - Coordinate[] coords=((Geometry)zone.getGeometry(_idxProfil)).getCoordinates(); - for (int l=0; l<coords.length/2; l++) { - // Inversion des coordonn\xE9es - Coordinate tmp=coords[l]; - coords[l]=coords[coords.length-1-l]; - coords[coords.length-1-l]=tmp; - // Inversion des attributs atomiques - for (int i=0; i<zone.getNbAttributes(); i++) - if (zone.getAttribute(i).isAtomicValue()) { - GISAttributeModel model=(GISAttributeModel)zone.getDataModel(i).getObjectValueAt(_idxProfil); - Object valueTmp=model.getObjectValueAt(l); - model.setObject(l, model.getObjectValueAt(coords.length-1-l), null); - model.setObject(l, valueTmp, null); - } - } - zone.setCoordinateSequence(_idxProfil, new GISCoordinateSequenceFactory().create(coords), null); - } - - /** * Valuation des attributs *gauche et *droite des profils. * * @param _idxProfil Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueBief.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueBief.java 2009-03-24 15:34:57 UTC (rev 4565) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueBief.java 2009-03-24 18:03:47 UTC (rev 4566) @@ -71,6 +71,7 @@ // Ajout du calque d'axe hydraulique MdlLayer1dAxe axeHydraulique=new MdlLayer1dAxe((FSigEditor)gisEditor_); axeHydraulique.setSelectable(false); + axeHydraulique.setShowLineOrientation(true); axeHydraulique.modele(bief.axeHydraulique_); groupeCalque.add(axeHydraulique); // Ajout du calque de lignes directrices This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-24 15:35:09
|
Revision: 4565 http://fudaa.svn.sourceforge.net/fudaa/?rev=4565&view=rev Author: bmarchan Date: 2009-03-24 15:34:57 +0000 (Tue, 24 Mar 2009) Log Message: ----------- Tache #166 : Export des casiers au format Rubar. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeInteger.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISLib.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/CalqueGISTreeModel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExportPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExporter.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExporterFilter.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlCasierExportAction.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/rubar/io/RubarCasierFileFormat.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/rubar/io/RubarCasierWriter.java Property Changed: ---------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeInteger.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeInteger.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeInteger.java 2009-03-23 13:58:06 UTC (rev 4564) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeInteger.java 2009-03-24 15:34:57 UTC (rev 4565) @@ -11,7 +11,7 @@ /** * @author Fred Deniger - * @version $Id: GISAttributeInteger.java,v 1.8 2006-09-19 14:36:53 deniger Exp $ + * @version $Id$ */ public class GISAttributeInteger extends GISAttribute { @@ -46,7 +46,8 @@ } /** - * @param _name + * Cree un attribut integer, par defaut global. + * @param _name Le nom de l'attribut */ public GISAttributeInteger(final String _name) { super(new CtuluValueEditorInteger(), _name); Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeInteger.java ___________________________________________________________________ Added: svn:keywords + Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISLib.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISLib.java 2009-03-23 13:58:06 UTC (rev 4564) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISLib.java 2009-03-24 15:34:57 UTC (rev 4565) @@ -646,8 +646,8 @@ } final double r = _s.getOrdinate(0, CoordinateSequence.Z); for (int i = _s.size() - 1; i > 0; i--) { - final double t = _s.getOrdinate(i, CoordinateSequence.Z) - r; - if (t < _eps || t > _eps) { + final double t = Math.abs(_s.getOrdinate(i, CoordinateSequence.Z) - r); + if (t > _eps) { return false; } } Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/rubar/io/RubarCasierFileFormat.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/rubar/io/RubarCasierFileFormat.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/rubar/io/RubarCasierFileFormat.java 2009-03-24 15:34:57 UTC (rev 4565) @@ -0,0 +1,45 @@ +/* + * @creation 11 Mars 2009 + * @license GNU General Public License 2 + * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.dodico.rubar.io; + +import org.fudaa.ctulu.fileformat.FileFormatUnique; +import org.fudaa.ctulu.fileformat.FileReadOperationAbstract; +import org.fudaa.ctulu.fileformat.FileWriteOperationAbstract; +import org.fudaa.dodico.commun.DodicoLib; +import org.fudaa.dodico.h2d.resource.H2dResource; + +/** + * Un file format pour les fichier Rubar Casiers + * @author Bertrand Marchand + * @version $Id$ + */ +public class RubarCasierFileFormat extends FileFormatUnique { + + public RubarCasierFileFormat() { + super(1); + nom_ = DodicoLib.getS("Rubar casiers"); + description_ = H2dResource.getS("Fichier contenant des casiers"); + extensions_=new String[]{"mage"}; + } + static final RubarCasierFileFormat INSTANCE = new RubarCasierFileFormat(); + + /** + * @return singleton + */ + public static RubarCasierFileFormat getInstance() { + return INSTANCE; + } + + public FileReadOperationAbstract createReader() { + return null; + } + + public FileWriteOperationAbstract createWriter() { + return new RubarCasierWriter(); + } + +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/rubar/io/RubarCasierFileFormat.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/rubar/io/RubarCasierWriter.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/rubar/io/RubarCasierWriter.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/rubar/io/RubarCasierWriter.java 2009-03-24 15:34:57 UTC (rev 4565) @@ -0,0 +1,107 @@ +/* + * @creation 15 f\xE9vr. 07 + * @modification $Date: 2007-05-04 13:47:30 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.dodico.rubar.io; + +import org.fudaa.ctulu.gis.GISAttributeConstants; +import org.fudaa.ctulu.gis.GISAttributeInteger; +import org.fudaa.ctulu.gis.GISAttributeInterface; +import org.fudaa.ctulu.gis.GISDataModel; +import org.fudaa.ctulu.gis.GISLib; +import org.fudaa.ctulu.gis.GISPolygone; +import org.fudaa.dodico.commun.DodicoLib; +import org.fudaa.dodico.fortran.FileOpWriterCharSimpleAbstract; +import org.fudaa.dodico.fortran.FortranWriter; + +import com.vividsolutions.jts.geom.CoordinateSequence; +import com.vividsolutions.jts.geom.Geometry; + +/** + * Une classe pour ecrire des casiers au format Rubar. + * + * @author Bertrand Marchand + * @version $Id$ + */ +public class RubarCasierWriter extends FileOpWriterCharSimpleAbstract { + + /** A utiliser pour chaque ligne de niveau, comme index sur le casier auquel elle se rapporte */ + public static final GISAttributeInterface INDEX_CASIER=new GISAttributeInteger("Index casier"); + + /** + * Ecrit les casiers. Les casiers sont consid\xE9r\xE9s conformes, c'est a dire a plus de 3 points et 0 ou plus lignes de niveaux. + * @param _o Un tableau GISDataModel[2]. + * [0] : le modele des contours de casiers + * [1] : le modele des lignes de niveau ferm\xE9es internes aux casiers. Il poss\xE8de un attribut INDEX_CASIER, qui indique le + * casier auquel chaque ligne de niveau se rapporte. + */ + protected void internalWrite(final Object _o) { + if (!(_o instanceof GISDataModel[]) || ((GISDataModel[])_o).length!=2) { + donneesInvalides(_o); + return; + } + + GISDataModel mdcasiers=((GISDataModel[])_o)[0]; + GISDataModel mdniv=((GISDataModel[])_o)[1]; + + final int iattName=mdcasiers.getIndiceOf(GISAttributeConstants.TITRE); + final int iattRef=mdniv.getIndiceOf(INDEX_CASIER); + if (iattRef==-1) { + analyze_.addFatalError(DodicoLib.getS("Arguments d'appel \xE0 RubarCasierWriter invalides")); + return; + } + + final FortranWriter writer = new FortranWriter(out_); + final int[] fmt={10,10}; + + try { + for (int icas = 0; icas < mdcasiers.getNumGeometries(); icas++) { + GISPolygone gcasier=((GISPolygone)mdcasiers.getGeometry(icas)); + + String name; + if (iattName==-1||(name=(String)mdcasiers.getValue(iattName, icas))==null||name.length()>3) name="C"+(icas+1); + + writer.writeln("$"+name); + // Le contour casier + writer.doubleField(1,getSurface(gcasier)); + writer.doubleField(0,getAltitude(gcasier.getCoordinateSequence())); + writer.writeFields(fmt); + + // Les lignes de niveau pour ce casier. + for (int iniv=0; iniv< mdniv.getNumGeometries(); iniv++) { + if (mdniv.getValue(iattRef, iniv).equals(icas)) { + GISPolygone gniv=((GISPolygone)mdniv.getGeometry(iniv)); + writer.doubleField(1,getSurface(gniv)); + writer.doubleField(0,getAltitude(gniv.getCoordinateSequence())); + writer.writeFields(fmt); + } + } + } + + } catch (final Exception _evt) { + analyze_.manageException(_evt); + } + + } + + /** + * Retourne l'altitude moyenne de la sequence pass\xE9e en argument. + * @param _seq La sequence de coordonn\xE9es. + * @return L'altitude moyenne. + */ + private double getAltitude(CoordinateSequence _seq) { + return GISLib.getMoyZ(_seq); + } + + /** + * Retourne la surface (en hectares) de la g\xE9om\xE9trie pass\xE9e en argument. + * @param _geom La g\xE9om\xE9trie pass\xE9e en argument. + * @return La surface en hectares. 0 pour un point. + */ + private double getSurface(Geometry _geom) { + return _geom.getArea()/10000; + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/rubar/io/RubarCasierWriter.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/CalqueGISTreeModel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/CalqueGISTreeModel.java 2009-03-23 13:58:06 UTC (rev 4564) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/CalqueGISTreeModel.java 2009-03-24 15:34:57 UTC (rev 4565) @@ -55,7 +55,6 @@ public class CalqueGISTreeModel extends DefaultTreeModel implements Observer { final BGroupeCalque rootLayer_; - LayerNode rootNode_; final CalqueGeometryVisitor finder_ = new CalqueGeometryVisitor(); GISVisitorChooser chooser_ = new GISVisitorChooser(); @@ -202,7 +201,6 @@ */ public CalqueGISTreeModel(final BArbreCalqueModel _model, final BGroupeCalque _root) { super(new LayerNode(_root)); - rootNode_=(LayerNode)getRoot(); rootLayer_ = _root; if (_model != null) { _model.getObservable().addObserver(this); @@ -212,8 +210,8 @@ } public final void buildTree() { - rootNode_.removeAllChildren(); - addLayer(rootNode_, rootLayer_); + ((LayerNode)getRoot()).removeAllChildren(); + addLayer((LayerNode)getRoot(), rootLayer_); } protected boolean containsGeometries(final BCalque _cq) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2009-03-23 13:58:06 UTC (rev 4564) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2009-03-24 15:34:57 UTC (rev 4565) @@ -166,7 +166,7 @@ return palette_; } - public final ZEbliCalquesPanel getPanel() { + public ZEbliCalquesPanel getPanel() { return panel_; } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExportPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExportPanel.java 2009-03-23 13:58:06 UTC (rev 4564) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExportPanel.java 2009-03-24 15:34:57 UTC (rev 4565) @@ -10,6 +10,8 @@ import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; import java.io.File; import javax.swing.ButtonGroup; @@ -20,28 +22,21 @@ import javax.swing.event.TreeSelectionListener; import javax.swing.tree.TreePath; +import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.ctulu.CtuluListSelection; import org.fudaa.ctulu.CtuluUI; -import org.fudaa.ctulu.fileformat.FileFormatVersionInterface; -import org.fudaa.ctulu.gis.GISAttributeConstants; -import org.fudaa.ctulu.gis.GISAttributeInterface; -import org.fudaa.ctulu.gis.GISDataModel; import org.fudaa.ctulu.gis.GISLib; import org.fudaa.ctulu.gis.GISZoneCollection; import org.fudaa.ctulu.gui.CtuluDialogPanel; import org.fudaa.ctulu.gui.CtuluFileChooserPanel; -import org.fudaa.dodico.mascaret.io.MascaretCasierFileFormat; import org.fudaa.ebli.calque.BArbreCalqueModel; import org.fudaa.ebli.calque.CalqueGISTreeModel; import org.fudaa.ebli.calque.ZCalqueAffichageDonneesAbstract; import org.fudaa.ebli.calque.ZCalqueGeometry; -import org.fudaa.ebli.calque.ZEbliCalquesPanel; -import org.fudaa.ebli.calque.ZModeleGeometry; import org.fudaa.ebli.calque.ZScene; import org.fudaa.ebli.calque.edition.ZModeleGeometryDefault; -import org.fudaa.ebli.commun.EbliListeSelectionMulti; import org.fudaa.ebli.geometrie.GrBoite; import org.fudaa.ebli.trace.TraceIcon; import org.fudaa.ebli.trace.TraceIconModel; @@ -53,11 +48,11 @@ import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.FSigLib; +import com.memoire.bu.BuComboBox; import com.memoire.bu.BuFileFilter; import com.memoire.bu.BuLabel; import com.memoire.bu.BuRadioButton; import com.memoire.bu.BuVerticalLayout; -import com.sun.java_cup.internal.internal_error; import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.Polygon; @@ -68,7 +63,7 @@ */ public class MdlCasierExportPanel extends CtuluDialogPanel { - private ZEbliCalquesPanel pn_; + private MdlVisuPanel pn_; private GrBoite initZoom_; private JTree trLayers_; private ZCalqueGeometry cqTmp_; @@ -76,22 +71,39 @@ private CtuluListSelection sel_=new CtuluListSelection(); private CtuluFileChooserPanel fileChooser_; private CtuluUI ui_; - private FileFormatVersionInterface[] ffs_; + private MdlCasierExporter[] exporters_; BuRadioButton rbAllLayers_; BuRadioButton rbSelectedLayers_; BuRadioButton rbVisibleLayers_; protected BuRadioButton rbSelectedGeometries_; - - public MdlCasierExportPanel(FileFormatVersionInterface[] _ffs, CtuluUI _ui, ZEbliCalquesPanel _pn, boolean _preselect) { + BuComboBox coFormat_; + + public MdlCasierExportPanel(MdlCasierExporter[] _exporters, CtuluUI _ui, MdlVisuPanel _pn, boolean _preselect) { pn_=_pn; - ffs_=_ffs; + exporters_=_exporters; ui_=_ui; setLayout(new BuVerticalLayout(5,true,true)); - BuLabel lbTitle=new BuLabel(FSigLib.getS("S\xE9lectionnez les semis \xE0 int\xE9grer aux casiers")); + JPanel pnFormat=new JPanel(); + pnFormat.setLayout(new BorderLayout(5,5)); + coFormat_=new BuComboBox(); + for (MdlCasierExporter exporter: _exporters) + coFormat_.addItem(exporter.getFileFormat().getFileFormat().createFileFilter().getShortDescription()); + coFormat_.addItemListener(new ItemListener() { + public void itemStateChanged(ItemEvent e) { + if (e.getStateChange()==ItemEvent.DESELECTED) return; + coFormatItemStateChanged(); + } + }); + + pnFormat.add(new BuLabel(FSigLib.getS("Format d'export")),BorderLayout.WEST); + pnFormat.add(coFormat_); + add(pnFormat); + + BuLabel lbTitle=new BuLabel(FSigLib.getS("S\xE9lectionnez les g\xE9om\xE9tries \xE0 int\xE9grer aux casiers")); add(lbTitle); - CalqueGISTreeModel md=new CalqueGISTreeModel(null,_pn.getDonneesCalque()); + CalqueGISTreeModel md=new CalqueGISTreeModel(null,_pn.getGroupAlti()); md.setMask(GISLib.MASK_MULTIPOINT); trLayers_=md.createView(true,true); @@ -104,16 +116,10 @@ sp.setPreferredSize(new Dimension(300,200)); add(sp); - BuFileFilter[] filters=new BuFileFilter[_ffs.length]; - for (int i=0; i<_ffs.length; i++) { - filters[i]=_ffs[i].getFileFormat().createFileFilter(); - } - final String title=FSigLib.getS("Fichier d'exportation"); fileChooser_=new CtuluFileChooserPanel(title); fileChooser_.setAllFileFilter(false); fileChooser_.setWriteMode(true); - fileChooser_.setFilter(filters); BuLabel lbFile=new BuLabel(title); JPanel pnFile=new JPanel(); @@ -141,6 +147,8 @@ rbSelectedGeometries_.setSelected(true); else rbSelectedGeometries_.setEnabled(false); + + coFormatItemStateChanged(); } /** @@ -169,6 +177,26 @@ } /** + * Changement de format d'export. + */ + private void coFormatItemStateChanged() { + CalqueGISTreeModel md=(CalqueGISTreeModel)trLayers_.getModel(); + md.setMask(getSelectedExporter().getMaskForSubSelection()); + // B.M. Oblig\xE9 de forcer le modele, je ne sais pourquoi. + trLayers_.setModel(null); + trLayers_.setModel(md); + + fileChooser_.setFilter(new BuFileFilter[]{getSelectedExporter().getFileFormat().getFileFormat().createFileFilter()}); + } + + /** + * Retourne l'exporter selectionn\xE9 + */ + public MdlCasierExporter getSelectedExporter() { + return exporters_[coFormat_.getSelectedIndex()]; + } + + /** * R\xE9affichage de la fenetre 2D en cas de selection d'un objet. * @param _geoms Les g\xE9om\xE9tries s\xE9lectionn\xE9es. * @param _zoom True si le zoom doit se faire sur les g\xE9ometries s\xE9lectionn\xE9es. @@ -225,14 +253,16 @@ @Override public boolean valide() { - if (trLayers_.getSelectionCount()==0) { - setErrorText(MdlResource.getS("Vous devez s\xE9lectionner au moins 1 semis")); + CtuluAnalyze ana=new CtuluAnalyze(); + if (!getSelectedExporter().isDataOk(getSelection(),ana)) { + setErrorText(ana.getErrors()[0].getMessage()); return false; } if (isFileOK()) return true; return false; } + private boolean isFileOK() { final File f=fileChooser_.getFile(); if (f==null) { @@ -240,16 +270,16 @@ return false; } - // Verification de l'extension - if (getFileFormat()==null) { - setErrorText(MdlResource.getS("Le fichier choisi a une extension inconnue")); + // Verification que l'extension est autoris\xE9e + if (!getSelectedExporter().getFileFormat().getFileFormat().createFileFilter().accept(getFile())) { + setErrorText(MdlResource.getS("Le fichier choisi a une extension invalide")); return false; } // Verification que le fichier n'existe pas. if(f.exists()) { - if (ui_.question(CtuluLib.getS("Attention"), CtuluLib.getS("Le fichier {0} existe d\xE9j\xE0. Voulez-vous l'\xE9craser?", - CtuluLibFile.getSansExtension(f.getName())))) + if (ui_.question(CtuluLib.getS("Attention"), CtuluLib.getS("Le fichier '{0}' existe d\xE9j\xE0. Voulez-vous l'\xE9craser?", + f.getName()))) f.delete(); else return false; @@ -324,19 +354,11 @@ return super.ok(); } + /** + * Reoutne le fichier selectionn\xE9. + * @return Le fichier. + */ public File getFile() { return fileChooser_.getFile(); } - - public FileFormatVersionInterface getFileFormat() { - File file=getFile(); - FileFormatVersionInterface ff=null; - for (int i=0; i<ffs_.length; i++) { - if (ffs_[i].getFileFormat().createFileFilter().accept(file)) { - ff=ffs_[i]; - break; - } - } - return ff; - } } \ No newline at end of file Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExporter.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExporter.java 2009-03-23 13:58:06 UTC (rev 4564) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExporter.java 2009-03-24 15:34:57 UTC (rev 4565) @@ -26,9 +26,12 @@ import org.fudaa.ctulu.gis.GISLib; import org.fudaa.ctulu.gis.GISMultiPoint; import org.fudaa.ctulu.gis.GISPolygone; +import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; import org.fudaa.ctulu.gis.GISZoneCollectionMultiPoint; import org.fudaa.dodico.commun.DodicoLib; import org.fudaa.dodico.mascaret.io.MascaretCasierFileFormat; +import org.fudaa.dodico.rubar.io.RubarCasierFileFormat; +import org.fudaa.dodico.rubar.io.RubarCasierWriter; import org.fudaa.ebli.calque.ZScene; import org.fudaa.fudaa.modeleur.resource.MdlResource; @@ -37,22 +40,50 @@ import com.vividsolutions.jts.geom.CoordinateSequence; /** + * Un exporter de casiers de la fenetre 2D. A impl\xE9menter suivant chaque format d'exportation. * @author Bertrand Marchand * @version $Id$ */ public abstract class MdlCasierExporter { - public abstract CtuluIOOperationSynthese export(File _f, ZScene _scn, GISDataModel _mdCasiers, CtuluListSelection _selSemis); + /** + * Export des casiers. + * @param _f Le fichier casiers. + * @param _scn La scene. Utile pour la selection des g\xE9om\xE9tries a int\xE9grer. + * @param _mdCasiers Le modele des seuls contours de casier a exporter, selon l'option choisie (tous, selectionn\xE9s, etc.). + * @param _selGeom Les g\xE9om\xE9tries a int\xE9grer aux contours de casiers lors de l'export. + * @return Le resultat du traitement d'export. + */ + public abstract CtuluIOOperationSynthese export(File _f, ZScene _scn, GISDataModel _mdCasiers, CtuluListSelection _selGeom); + /** + * Retourne le file format associ\xE9 \xE0 l'exporter. + * @return Le file format. + */ public abstract FileFormatVersionInterface getFileFormat(); + /** + * Retourne le masque de saisie des g\xE9om\xE9tries a int\xE9grer dans les casiers (voir {@link GISLib}) + * @return Le mask. + */ + public abstract int getMaskForSubSelection(); + + /** + * Controle que les donn\xE9es sont valides avant de passer \xE0 la suite. + */ + public abstract boolean isDataOk(CtuluListSelection _sel, CtuluAnalyze _ana); + + /** + * Un exporter de casiers au format Mascaret. + * @author Bertrand Marchand + * @version $Id:$ + */ public static class Mascaret extends MdlCasierExporter { public CtuluIOOperationSynthese export(File _f, ZScene _scn, GISDataModel _mdCasiers, CtuluListSelection _selSemis) { GISDataModel mdCasiers=_mdCasiers; CtuluAnalyze ana=new CtuluAnalyze(); - if (mdCasiers!=null&&mdCasiers.getNumGeometries()!=0) { int nbCasiers=mdCasiers.getNumGeometries(); TIntArrayList idxConserves=new TIntArrayList(); @@ -89,70 +120,250 @@ public FileFormatVersionInterface getFileFormat() { return MascaretCasierFileFormat.getInstance(); } + + public int getMaskForSubSelection() { + return GISLib.MASK_MULTIPOINT; + } + + public boolean isDataOk(CtuluListSelection _sel, CtuluAnalyze _ana) { + if (_sel.isEmpty()) { + _ana.addError(DodicoLib.getS("Vous devez s\xE9lectionner au moins 1 semis"),-1); + return false; + } + + return true; + } + + /** + * Construit les semis internes aux casiers. En fait, on recr\xE9e des semis pour chaque contour de casier. + * Les casiers sans semis interne ou non conformes sont supprim\xE9s du mod\xE8le. + * + * @param _scn La scene. + * @param _mdCasiers Le modele des casiers. + * @param _idxConserves Les index casiers conserv\xE9s. (Parametre de retour) + * @param _selSemis La selection des semis. + * @return Les semis. + */ + private GISZoneCollectionMultiPoint buildSemis(ZScene _scn, + GISDataModel _mdCasiers, TIntArrayList _idxConserves, CtuluListSelection _selSemis, CtuluAnalyze _ana) { + + GISZoneCollectionMultiPoint zsemis=new GISZoneCollectionMultiPoint(); + zsemis.setAttributes(new GISAttributeInterface[]{GISAttributeConstants.BATHY},null); + zsemis.setAttributeIsZ(GISAttributeConstants.BATHY); + + List<Coordinate> coords=new ArrayList<Coordinate>(); + + for (int idxgeom=0; idxgeom<_mdCasiers.getNumGeometries(); idxgeom++) { + int iattr=_mdCasiers.getIndiceOf(GISAttributeConstants.TITRE); + String name=""; + if (iattr!=-1) + name=(String)_mdCasiers.getValue(iattr,idxgeom); + + coords.clear(); + GISPolygone geom=(GISPolygone)_mdCasiers.getGeometry(idxgeom); + + // On controle que le casier est conforme. + if (geom.getCoordinateSequence().size()<5) { + _ana.addWarn(DodicoLib.getS("Casier '{0}' : Le contour n'est pas conforme",name), 0); + continue; + } + + // On teste que le contour contient bien au moins 1 point. + PointInRing pir=GISLib.createPolygoneTester(geom); + + for (int j=_selSemis.getMinIndex(); j<=_selSemis.getMaxIndex(); j++) { + if (!_selSemis.isSelected(j)) continue; + + GISMultiPoint semis=(GISMultiPoint)_scn.getObject(j); + CoordinateSequence seq=semis.getCoordinateSequence(); + for (int k=0; k<seq.size(); k++) { + Coordinate c=seq.getCoordinate(k); + if (GISLib.isIn(c, geom, pir, 0)) + coords.add(c); + } + } + + // Le casier ne poss\xE8de aucun point interne => On le retire des casiers a exporter. + if (coords.size()==0) { + _ana.addWarn(MdlResource.getS("Casier '{0}' : Aucun point des semis s\xE9lectionn\xE9s ne se trouve \xE0 l'int\xE9rieur",name), -1); + continue; + } + _idxConserves.add(idxgeom); + + // Recup\xE9ration des points, et cr\xE9ation d'un semis. + GISMultiPoint semis=GISGeometryFactory.INSTANCE.createMultiPoint(coords.toArray(new Coordinate[0])); + zsemis.addGeometry(semis,null,null); + } + + return zsemis; + } } - - + /** - * Construit les semis internes aux casiers. En fait, on recr\xE9e des semis pour chaque contour de casier. - * Les casiers sans semis interne ou non conformes sont supprim\xE9s du mod\xE8le. - * - * @param _scn La scene. - * @param _mdCasiers Le modele des casiers. - * @param _idxConserves Les index casiers conserv\xE9s. (Parametre de retour) - * @param _selSemis La selection des semis. - * @return Les semis. + * Un exporter de casiers au format Rubar (MAGE). + * @author Bertrand Marchand + * @version $Id:$ */ - protected GISZoneCollectionMultiPoint buildSemis(ZScene _scn, - GISDataModel _mdCasiers, TIntArrayList _idxConserves, CtuluListSelection _selSemis, CtuluAnalyze _ana) { + public static class Rubar extends MdlCasierExporter { - GISZoneCollectionMultiPoint zsemis=new GISZoneCollectionMultiPoint(); - zsemis.setAttributes(new GISAttributeInterface[]{GISAttributeConstants.BATHY},null); - zsemis.setAttributeIsZ(GISAttributeConstants.BATHY); + public CtuluIOOperationSynthese export(File _f, ZScene _scn, GISDataModel _mdCasiers, CtuluListSelection _selNiveaux) { + GISDataModel mdCasiers=_mdCasiers; + + CtuluAnalyze ana=new CtuluAnalyze(); + CtuluIOOperationSynthese synt=new CtuluIOOperationSynthese(); + synt.setAnalyze(ana); + + if (mdCasiers==null || mdCasiers.getNumGeometries()==0) { + ana.addWarn(DodicoLib.getS("Aucun casiers \xE0 exporter"), -1); + return synt; + } + + if (!hasNoIntersectionWithContours(_scn, _mdCasiers, _selNiveaux) || + !hasNoIntersectionWithNiveaux(_scn, _mdCasiers, _selNiveaux)) { + ana.addError(DodicoLib.getS("Les lignes de niveaux s\xE9lectionn\xE9es coupent des\n"+ + "contours de casiers ou se coupent entre elles.\n" + + "Aucun casiers export\xE9"), -1); + return synt; + } + + int nbCasiers=mdCasiers.getNumGeometries(); + TIntArrayList idxConserves=new TIntArrayList(); + GISZoneCollectionLigneBrisee mdNiveaux=buildNiveaux(_scn, mdCasiers, idxConserves, _selNiveaux, ana); + + // On ne conserve du mod\xE8le que les indexs conserv\xE9s. + if (idxConserves.size()!=nbCasiers) { + mdCasiers=new GISDataModelFilterAdapter(mdCasiers, null, idxConserves.toNativeArray()); + } + + FileWriteOperationAbstract writer=getFileFormat().createWriter(); + CtuluAnalyze ana2=writer.write(new GISDataModel[]{mdCasiers, mdNiveaux}, _f, null).getAnalyze(); + ana.merge(ana2); + + if (!ana.containsErrors()&&!ana.containsFatalError()) { + if (idxConserves.size()!=nbCasiers) { + ana.addWarn(DodicoLib.getS("{0} casiers sur {1} ont \xE9t\xE9 export\xE9s", ""+idxConserves.size(), ""+nbCasiers), -1); + } + else { + ana.addInfo(DodicoLib.getS("{0} casiers sur {1} ont \xE9t\xE9 export\xE9s", ""+nbCasiers, ""+nbCasiers), -1); + } + } + + return synt; + } - List<Coordinate> coords=new ArrayList<Coordinate>(); + public FileFormatVersionInterface getFileFormat() { + return RubarCasierFileFormat.getInstance(); + } + + public int getMaskForSubSelection() { + return GISLib.MASK_POLYGONE; + } - for (int idxgeom=0; idxgeom<_mdCasiers.getNumGeometries(); idxgeom++) { - int iattr=_mdCasiers.getIndiceOf(GISAttributeConstants.TITRE); - String name=""; - if (iattr!=-1) - name=(String)_mdCasiers.getValue(iattr,idxgeom); + public boolean isDataOk(CtuluListSelection _sel, CtuluAnalyze _ana) { + return true; + } + + /** + * Test que les courbes de niveaux n'ont pas d'intersections entre elles. + * @return true si pas d'intersections avec les autres courbes de niveaux. + */ + private boolean hasNoIntersectionWithNiveaux(ZScene _scn, + GISDataModel _mdCasiers, CtuluListSelection _selNiveaux) { - coords.clear(); - GISPolygone geom=(GISPolygone)_mdCasiers.getGeometry(idxgeom); + for (int iniv1=_selNiveaux.getMinIndex(); iniv1<=_selNiveaux.getMaxIndex(); iniv1++) { + if (!_selNiveaux.isSelected(iniv1)) continue; + GISPolygone niv1=(GISPolygone)_scn.getObject(iniv1); + + // Test avec les courbes de niveaux + for (int iniv2=iniv1+1; iniv2<=_selNiveaux.getMaxIndex(); iniv2++) { + if (!_selNiveaux.isSelected(iniv2)) continue; + GISPolygone niv2=(GISPolygone)_scn.getObject(iniv2); + if (niv2.intersects(niv1)) return false; + } + } + return true; + } + + /** + * Test que les courbes de niveaux n'ont pas d'intersections avec les contours de casiers. + * @return true si pas d'intersections avec les contours. + */ + private boolean hasNoIntersectionWithContours(ZScene _scn, + GISDataModel _mdCasiers, CtuluListSelection _selNiveaux) { - // On controle que le casier est conforme. - if (geom.getCoordinateSequence().size()<5) { - _ana.addWarn(DodicoLib.getS("Casier '{0}' : Le contour n'est pas conforme",name), 0); - continue; + for (int iniv1=_selNiveaux.getMinIndex(); iniv1<=_selNiveaux.getMaxIndex(); iniv1++) { + if (!_selNiveaux.isSelected(iniv1)) continue; + GISPolygone niv1=(GISPolygone)_scn.getObject(iniv1); + + // Test avec les casiers + for (int j=0; j<_mdCasiers.getNumGeometries(); j++) { + GISPolygone casier=(GISPolygone)_mdCasiers.getGeometry(j); + if (casier.intersects(niv1)) return false; + } } + return true; + } + + /** + * Construit les lignes de niveau internes aux casiers. + * Les casiers non conformes sont supprim\xE9s du mod\xE8le. + * + * @param _scn La scene. + * @param _mdCasiers Le modele des casiers. + * @param _idxConserves Les index casiers conserv\xE9s. (Parametre de retour) + * @param _selNiveaux La selection des lignes de niveau. + * @return Les semis. + */ + private GISZoneCollectionLigneBrisee buildNiveaux(ZScene _scn, + GISDataModel _mdCasiers, TIntArrayList _idxConserves, CtuluListSelection _selNiveaux, CtuluAnalyze _ana) { - // On teste que le contour contient bien au moins 1 point. - PointInRing pir=GISLib.createPolygoneTester(geom); + GISZoneCollectionLigneBrisee zniveaux=new GISZoneCollectionLigneBrisee(); + zniveaux.setAttributes(new GISAttributeInterface[]{GISAttributeConstants.BATHY,RubarCasierWriter.INDEX_CASIER},null); + zniveaux.setAttributeIsZ(GISAttributeConstants.BATHY); - for (int j=_selSemis.getMinIndex(); j<=_selSemis.getMaxIndex(); j++) { - if (!_selSemis.isSelected(j)) continue; + List<Coordinate> coords=new ArrayList<Coordinate>(); + + for (int idxgeom=0; idxgeom<_mdCasiers.getNumGeometries(); idxgeom++) { + int iattr=_mdCasiers.getIndiceOf(GISAttributeConstants.TITRE); + String name=""; + if (iattr!=-1) + name=(String)_mdCasiers.getValue(iattr,idxgeom); - GISMultiPoint semis=(GISMultiPoint)_scn.getObject(j); - CoordinateSequence seq=semis.getCoordinateSequence(); - for (int k=0; k<seq.size(); k++) { - Coordinate c=seq.getCoordinate(k); - if (GISLib.isIn(c, geom, pir, 0)) - coords.add(c); + coords.clear(); + GISPolygone geom=(GISPolygone)_mdCasiers.getGeometry(idxgeom); + + // On controle que le casier est conforme (tous les points du contour on m\xEAme Z) + if (!GISLib.isNiveau(geom.getCoordinateSequence())) { + _ana.addWarn(DodicoLib.getS("Casier '{0}' : Le contour n'est pas conforme (Z non constant)",name), 0); + continue; } + + // On recherche a quel contour appartient chaque ligne de niveau. A ce stade, les courbes de niveaux ne se coupent pas entre + // elles, et ne coupent pas de contours. + PointInRing pir=GISLib.createPolygoneTester(geom); + + for (int j=_selNiveaux.getMinIndex(); j<=_selNiveaux.getMaxIndex(); j++) { + if (!_selNiveaux.isSelected(j)) continue; + + GISPolygone niv=(GISPolygone)_scn.getObject(j); + CoordinateSequence seq=niv.getCoordinateSequence(); + // Une coordonn\xE9e dans le contour => La ligne de niveau appartient au contour. + Coordinate c=seq.getCoordinate(0); + if (GISLib.isIn(c, geom, pir, 0)) { + zniveaux.addGeometry(niv,new Object[]{null,new Integer(idxgeom)},null); + } + } + + _idxConserves.add(idxgeom); + + // Recup\xE9ration des points, et cr\xE9ation d'un semis. +// GISMultiPoint semis=GISGeometryFactory.INSTANCE.createMultiPoint(coords.toArray(new Coordinate[0])); +// zniveaux.addGeometry(semis,null,null); } - // Le casier ne poss\xE8de aucun point interne => On le retire des casiers a exporter. - if (coords.size()==0) { - _ana.addWarn(MdlResource.getS("Casier '{0}' : Aucun point des semis s\xE9lectionn\xE9s ne se trouve \xE0 l'int\xE9rieur",name), -1); - continue; - } - _idxConserves.add(idxgeom); - - // Recup\xE9ration des points, et cr\xE9ation d'un semis. - GISMultiPoint semis=GISGeometryFactory.INSTANCE.createMultiPoint(coords.toArray(new Coordinate[0])); - zsemis.addGeometry(semis,null,null); + // Pour intiailiser la BATHY. + zniveaux.postImport(0); + return zniveaux; } - - return zsemis; } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExporterFilter.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExporterFilter.java 2009-03-23 13:58:06 UTC (rev 4564) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExporterFilter.java 2009-03-24 15:34:57 UTC (rev 4565) @@ -19,11 +19,11 @@ import org.fudaa.fudaa.modeleur.layer.MdlLayer2dCasier; /** - * Un filtre qui retourne un modele de donn\xE9es pour des calques/g\xE9om\xE9tries selectionn\xE9es + * Un filtre qui retourne un modele de casiers pour des calques/g\xE9om\xE9tries selectionn\xE9es * de l'arbre des calques. * * @author Bertrand Marchand - * @version $Id:$ + * @version $Id$ */ public class MdlCasierExporterFilter implements BCalqueVisitor { @@ -73,8 +73,17 @@ * aucune donn\xE9e r\xE9cup\xE9r\xE9e apr\xE8s filtre. */ public GISDataModel filter() { + // On transfert dans les zones casier les Z de l'attribut vers la coordonn\xE9e. + mdTree_.getRootCalque().apply(new BCalqueVisitor() { + public boolean visit(BCalque _cq) { + if (_cq instanceof MdlLayer2dCasier) { + ((MdlLayer2dCasier)_cq).modeleDonnees().getGeomData().prepareExport(); + } + return true; + } + }); + zones.clear(); - if (isOnlyOnSelectedLayers_) { final BCalque[] parent=mdTree_.getSelection(); if (parent!=null) Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2009-03-23 13:58:06 UTC (rev 4564) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2009-03-24 15:34:57 UTC (rev 4565) @@ -202,4 +202,8 @@ changeState(bt.getActionCommand()); } } + + public MdlVisuPanel getPanel() { + return (MdlVisuPanel)super.getPanel(); + } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2009-03-23 13:58:06 UTC (rev 4564) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2009-03-24 15:34:57 UTC (rev 4565) @@ -118,6 +118,13 @@ return /*parent_*/null; } + /** + * Retourne le groupe des calques de donn\xE9es altim\xE9triques + */ + public BGroupeCalque getGroupAlti() { + return cqAlti_; + } + public void importImage() { // actImport_.actionPerformed(null); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlCasierExportAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlCasierExportAction.java 2009-03-23 13:58:06 UTC (rev 4564) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlCasierExportAction.java 2009-03-24 15:34:57 UTC (rev 4565) @@ -9,7 +9,9 @@ import java.awt.event.ActionEvent; import java.io.File; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import org.fudaa.ctulu.CtuluIOOperationSynthese; import org.fudaa.ctulu.CtuluLib; @@ -21,13 +23,11 @@ import org.fudaa.ebli.calque.ZCalqueGeometry; import org.fudaa.ebli.calque.ZModeleGeometry; import org.fudaa.ebli.calque.ZScene; -import org.fudaa.ebli.calque.ZSelectionEvent; -import org.fudaa.ebli.calque.ZSelectionListener; import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.fudaa.commun.FudaaLib; +import org.fudaa.fudaa.modeleur.MdlCasierExportPanel; import org.fudaa.fudaa.modeleur.MdlCasierExporter; import org.fudaa.fudaa.modeleur.MdlCasierExporterFilter; -import org.fudaa.fudaa.modeleur.MdlCasierExportPanel; import org.fudaa.fudaa.modeleur.MdlEditionManager; import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.ressource.FudaaResource; @@ -47,12 +47,10 @@ } public void actionPerformed(final ActionEvent _e) { - MdlCasierExporter exporter; - // Les formats de fichier casiers exportables. - HashMap<FileFormatVersionInterface, MdlCasierExporter> ff2Exporter=new HashMap<FileFormatVersionInterface, MdlCasierExporter>(); - ff2Exporter.put((exporter=new MdlCasierExporter.Mascaret()).getFileFormat(),exporter); - - FileFormatVersionInterface[] ffs=ff2Exporter.keySet().toArray(new FileFormatVersionInterface[0]); + // Les exporters de fichier casiers. + MdlCasierExporter[] exporters=new MdlCasierExporter[2]; + exporters[0]=new MdlCasierExporter.Rubar(); + exporters[1]=new MdlCasierExporter.Mascaret(); ZScene scn=editor_.getSupport(); boolean bpreselect= @@ -60,7 +58,7 @@ !scn.isSelectionEmpty() && containsOnlyCasiers(); - MdlCasierExportPanel pn=new MdlCasierExportPanel(ffs,editor_.getUi(),editor_.getPanel(),bpreselect); + MdlCasierExportPanel pn=new MdlCasierExportPanel(exporters,editor_.getUi(),editor_.getPanel(),bpreselect); if (pn.afficheModaleOk(editor_.getFrame(), FudaaLib.getS("Export de casiers"))) { // R\xE9cup\xE9ration du modele des casiers a exporter. @@ -70,9 +68,11 @@ flt.setTreatmentOnlyOnSelectedLayers(pn.isExportOnSelectedLayers()); GISDataModel mdCasiers=flt.filter(); + // Exporter et fichier selectionn\xE9s. File f=pn.getFile(); - exporter=ff2Exporter.get(pn.getFileFormat()); + MdlCasierExporter exporter=pn.getSelectedExporter(); + // Export. CtuluIOOperationSynthese synt=exporter.export(f,scn,mdCasiers,pn.getSelection()); editor_.getUi().manageErrorOperationAndIsFatal(synt); } @@ -82,6 +82,10 @@ return CtuluLib.getS("S\xE9lectionner des casiers."); } + /** + * Controle que la selection ne contient que des contours de casiers. + * @return + */ public boolean containsOnlyCasiers() { ZScene scn=editor_.getSupport(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-23 13:58:21
|
Revision: 4564 http://fudaa.svn.sourceforge.net/fudaa/?rev=4564&view=rev Author: bmarchan Date: 2009-03-23 13:58:06 +0000 (Mon, 23 Mar 2009) Log Message: ----------- Tache #204 : Les fichiers Rubar semis supportent ?\195?\160 pr?\195?\169sent les commentaires en debut de ligne Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/fortran/FortranDoubleReader.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/rubar/io/RubarSEMFileFormat.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/fortran/FortranDoubleReader.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/fortran/FortranDoubleReader.java 2009-03-23 10:47:15 UTC (rev 4563) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/fortran/FortranDoubleReader.java 2009-03-23 13:58:06 UTC (rev 4564) @@ -26,6 +26,7 @@ */ public class FortranDoubleReader extends FileOpReadCharSimpleAbstract implements FortranInterface { final int[] fmt_; + String charComments_=null; public void close() throws IOException { in_.close(); @@ -42,6 +43,18 @@ public void setSkipFirstLine(final boolean _skipFirstLine) { skipFirstLine_ = _skipFirstLine; } + + /** + * La lecture supporte les lignes de commentaires. Elle sont introduites par l'un des caract\xE8re contenus + * dans _charComments.<p> + * <b>Attention</b><br> + * la casse du caract\xE8re qui introduit un commentaire est importante. Par exemple, si on + * souhaite des lignes commentaires commencant par 'C' ou 'c', il faudra donner _charComments="Cc" + * @param _charComments Les diff\xE9rents caract\xE8res autoris\xE9s pour introduire une ligne commentaire. + */ + public void supportCommentLines(String _charComments) { + charComments_=_charComments; + } public FortranDoubleReader(final int _nbField) { nbField_ = _nbField; @@ -88,7 +101,9 @@ } in_.readFields(fmt_); } - if (in_.getNumberOfFields() == 0 || in_.getLine() == null || in_.getLine().trim().length() == 0) { + if (in_.getNumberOfFields() == 0 || in_.getLine() == null || in_.getLine().trim().length() == 0 || + // Ligne commentaires ? + (charComments_!=null && charComments_.indexOf(in_.getLine().charAt(0))!=-1)) { continue; } if (result.nbField_ < 0) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/rubar/io/RubarSEMFileFormat.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/rubar/io/RubarSEMFileFormat.java 2009-03-23 10:47:15 UTC (rev 4563) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/rubar/io/RubarSEMFileFormat.java 2009-03-23 13:58:06 UTC (rev 4564) @@ -30,7 +30,9 @@ } public FileReadOperationAbstract createReader() { - return new FortranDoubleReader(getFmt()); + FortranDoubleReader w=new FortranDoubleReader(getFmt()); + w.supportCommentLines("#"); + return w; } private int[] getFmt() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-23 10:47:24
|
Revision: 4563 http://fudaa.svn.sourceforge.net/fudaa/?rev=4563&view=rev Author: bmarchan Date: 2009-03-23 10:47:15 +0000 (Mon, 23 Mar 2009) Log Message: ----------- Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceImmutable.java Removed Paths: ------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GiSCoordinateSequenceImmutable.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java 2009-03-23 10:44:13 UTC (rev 4562) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java 2009-03-23 10:47:15 UTC (rev 4563) @@ -106,7 +106,7 @@ return new GISCoordinateSequenceUniqueImmutable(_coordinates[0]); } //la sequence par defaut - return new GiSCoordinateSequenceImmutable(_coordinates); + return new GISCoordinateSequenceImmutable(_coordinates); } public CoordinateSequence createImmutable(final CoordinateSequence _coordSeq){ @@ -119,7 +119,7 @@ if (_coordSeq.size() == 1) { return new GISCoordinateSequenceUniqueImmutable(_coordSeq.getCoordinate(0)); } - return new GiSCoordinateSequenceImmutable(_coordSeq); + return new GISCoordinateSequenceImmutable(_coordSeq); } public CoordinateSequence createImmutable(final int _size,final int _dim){ @@ -129,7 +129,7 @@ if (_size == 1) { return new GISCoordinateSequenceUniqueImmutable(0, 0, 0); } - return new GiSCoordinateSequenceImmutable(_size); + return new GISCoordinateSequenceImmutable(_size); } } \ No newline at end of file Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceImmutable.java (from rev 4503, branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GiSCoordinateSequenceImmutable.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceImmutable.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceImmutable.java 2009-03-23 10:47:15 UTC (rev 4563) @@ -0,0 +1,74 @@ +/* + * @creation 22 avr. 2005 + * @modification $Date: 2006-09-19 14:36:53 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ctulu.gis; + +import gnu.trove.TDoubleArrayList; + +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.CoordinateSequence; + +import com.memoire.fu.FuLog; + +/** + * @author Fred Deniger + * @version $Id: GiSCoordinateSequenceImmutable.java,v 1.6 2006-09-19 14:36:53 deniger Exp $ + */ +public final class GISCoordinateSequenceImmutable extends GISCoordinateSequence { + + public GISCoordinateSequenceImmutable() { + super(new Coordinate[0]); + } + + /** + * @param _coordinates + */ + public GISCoordinateSequenceImmutable(final Coordinate[] _coordinates) { + super(_coordinates); + } + + /** + * @param _l + */ + public GISCoordinateSequenceImmutable(final TDoubleArrayList _l) { + super(_l); + } + + /** + * @param _coordSeq + */ + public GISCoordinateSequenceImmutable(final CoordinateSequence _coordSeq) { + super(_coordSeq); + } + + /** + * @param _size + */ + public GISCoordinateSequenceImmutable(final int _size) { + super(_size); + } + + private void error() { + FuLog.error("not supported"); + } + + public void setZ(final int _i, final double _value) { + + } + + public void setOrdinate(final int _index, final int _ordinate, final double _value) { + error(); + } + + public void setX(final int _index, final double _value) { + error(); + } + + public void setY(final int _index, final double _value) { + error(); + } +} Deleted: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GiSCoordinateSequenceImmutable.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GiSCoordinateSequenceImmutable.java 2009-03-23 10:44:13 UTC (rev 4562) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GiSCoordinateSequenceImmutable.java 2009-03-23 10:47:15 UTC (rev 4563) @@ -1,74 +0,0 @@ -/* - * @creation 22 avr. 2005 - * @modification $Date: 2006-09-19 14:36:53 $ - * @license GNU General Public License 2 - * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail de...@fu... - */ -package org.fudaa.ctulu.gis; - -import gnu.trove.TDoubleArrayList; - -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.CoordinateSequence; - -import com.memoire.fu.FuLog; - -/** - * @author Fred Deniger - * @version $Id: GiSCoordinateSequenceImmutable.java,v 1.6 2006-09-19 14:36:53 deniger Exp $ - */ -public final class GiSCoordinateSequenceImmutable extends GISCoordinateSequence { - - public GiSCoordinateSequenceImmutable() { - super(new Coordinate[0]); - } - - /** - * @param _coordinates - */ - public GiSCoordinateSequenceImmutable(final Coordinate[] _coordinates) { - super(_coordinates); - } - - /** - * @param _l - */ - public GiSCoordinateSequenceImmutable(final TDoubleArrayList _l) { - super(_l); - } - - /** - * @param _coordSeq - */ - public GiSCoordinateSequenceImmutable(final CoordinateSequence _coordSeq) { - super(_coordSeq); - } - - /** - * @param _size - */ - public GiSCoordinateSequenceImmutable(final int _size) { - super(_size); - } - - private void error() { - FuLog.error("not supported"); - } - - public void setZ(final int _i, final double _value) { - - } - - public void setOrdinate(final int _index, final int _ordinate, final double _value) { - error(); - } - - public void setX(final int _index, final double _value) { - error(); - } - - public void setY(final int _index, final double _value) { - error(); - } -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-23 10:44:18
|
Revision: 4562 http://fudaa.svn.sourceforge.net/fudaa/?rev=4562&view=rev Author: bmarchan Date: 2009-03-23 10:44:13 +0000 (Mon, 23 Mar 2009) Log Message: ----------- Renomme avec chgt de case Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceUniqueImmutable.java Removed Paths: ------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GisCoordinateSequenceUniqueImmutable.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java 2009-03-23 10:38:44 UTC (rev 4561) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java 2009-03-23 10:44:13 UTC (rev 4562) @@ -103,7 +103,7 @@ } //unique on renvoie l'unique if (_coordinates.length == 1) { - return new GisCoordinateSequenceUniqueImmutable(_coordinates[0]); + return new GISCoordinateSequenceUniqueImmutable(_coordinates[0]); } //la sequence par defaut return new GiSCoordinateSequenceImmutable(_coordinates); @@ -117,7 +117,7 @@ return getEmpty(); } if (_coordSeq.size() == 1) { - return new GisCoordinateSequenceUniqueImmutable(_coordSeq.getCoordinate(0)); + return new GISCoordinateSequenceUniqueImmutable(_coordSeq.getCoordinate(0)); } return new GiSCoordinateSequenceImmutable(_coordSeq); } @@ -127,7 +127,7 @@ return getEmpty(); } if (_size == 1) { - return new GisCoordinateSequenceUniqueImmutable(0, 0, 0); + return new GISCoordinateSequenceUniqueImmutable(0, 0, 0); } return new GiSCoordinateSequenceImmutable(_size); } Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceUniqueImmutable.java (from rev 4561, branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GisCoordinateSequenceUniqueImmutable.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceUniqueImmutable.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceUniqueImmutable.java 2009-03-23 10:44:13 UTC (rev 4562) @@ -0,0 +1,47 @@ +/* + * @creation 22 avr. 2005 + * @modification $Date: 2006-09-19 14:36:53 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ctulu.gis; + +import com.vividsolutions.jts.geom.Coordinate; + +import com.memoire.fu.FuLog; + +/** + * @author Fred Deniger + * @version $Id: GisCoordinateSequenceUniqueImmutable.java,v 1.6 2006-09-19 14:36:53 deniger Exp $ + */ +public final class GISCoordinateSequenceUniqueImmutable extends GISCoordinateSequenceUnique { + + /** + * @param _x + * @param _y + * @param _z + */ + public GISCoordinateSequenceUniqueImmutable(final double _x, final double _y, final double _z) { + super(_x, _y, _z); + } + + public GISCoordinateSequenceUniqueImmutable() { + super(0, 0, 0); + } + + /** + * @param _c + */ + public GISCoordinateSequenceUniqueImmutable(final Coordinate _c) { + super(_c); + } + + public Object clone() { + return new GISCoordinateSequenceUniqueImmutable(x_, y_, z_); + } + + public void setOrdinate(final int _index,final int _ordinateIndex,final double _value){ + FuLog.error("not supported"); + } +} Deleted: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GisCoordinateSequenceUniqueImmutable.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GisCoordinateSequenceUniqueImmutable.java 2009-03-23 10:38:44 UTC (rev 4561) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GisCoordinateSequenceUniqueImmutable.java 2009-03-23 10:44:13 UTC (rev 4562) @@ -1,47 +0,0 @@ -/* - * @creation 22 avr. 2005 - * @modification $Date: 2006-09-19 14:36:53 $ - * @license GNU General Public License 2 - * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail de...@fu... - */ -package org.fudaa.ctulu.gis; - -import com.vividsolutions.jts.geom.Coordinate; - -import com.memoire.fu.FuLog; - -/** - * @author Fred Deniger - * @version $Id: GisCoordinateSequenceUniqueImmutable.java,v 1.6 2006-09-19 14:36:53 deniger Exp $ - */ -public final class GisCoordinateSequenceUniqueImmutable extends GISCoordinateSequenceUnique { - - /** - * @param _x - * @param _y - * @param _z - */ - public GisCoordinateSequenceUniqueImmutable(final double _x, final double _y, final double _z) { - super(_x, _y, _z); - } - - public GisCoordinateSequenceUniqueImmutable() { - super(0, 0, 0); - } - - /** - * @param _c - */ - public GisCoordinateSequenceUniqueImmutable(final Coordinate _c) { - super(_c); - } - - public Object clone() { - return new GisCoordinateSequenceUniqueImmutable(x_, y_, z_); - } - - public void setOrdinate(final int _index,final int _ordinateIndex,final double _value){ - FuLog.error("not supported"); - } -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-23 10:38:54
|
Revision: 4561 http://fudaa.svn.sourceforge.net/fudaa/?rev=4561&view=rev Author: bmarchan Date: 2009-03-23 10:38:44 +0000 (Mon, 23 Mar 2009) Log Message: ----------- Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GisCoordinateSequenceUniqueImmutable.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java 2009-03-23 10:31:35 UTC (rev 4560) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java 2009-03-23 10:38:44 UTC (rev 4561) @@ -103,7 +103,7 @@ } //unique on renvoie l'unique if (_coordinates.length == 1) { - return new GISCoordinateSequenceUniqueImmutable(_coordinates[0]); + return new GisCoordinateSequenceUniqueImmutable(_coordinates[0]); } //la sequence par defaut return new GiSCoordinateSequenceImmutable(_coordinates); @@ -117,7 +117,7 @@ return getEmpty(); } if (_coordSeq.size() == 1) { - return new GISCoordinateSequenceUniqueImmutable(_coordSeq.getCoordinate(0)); + return new GisCoordinateSequenceUniqueImmutable(_coordSeq.getCoordinate(0)); } return new GiSCoordinateSequenceImmutable(_coordSeq); } @@ -127,7 +127,7 @@ return getEmpty(); } if (_size == 1) { - return new GISCoordinateSequenceUniqueImmutable(0, 0, 0); + return new GisCoordinateSequenceUniqueImmutable(0, 0, 0); } return new GiSCoordinateSequenceImmutable(_size); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GisCoordinateSequenceUniqueImmutable.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GisCoordinateSequenceUniqueImmutable.java 2009-03-23 10:31:35 UTC (rev 4560) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GisCoordinateSequenceUniqueImmutable.java 2009-03-23 10:38:44 UTC (rev 4561) @@ -15,30 +15,30 @@ * @author Fred Deniger * @version $Id: GisCoordinateSequenceUniqueImmutable.java,v 1.6 2006-09-19 14:36:53 deniger Exp $ */ -public final class GISCoordinateSequenceUniqueImmutable extends GISCoordinateSequenceUnique { +public final class GisCoordinateSequenceUniqueImmutable extends GISCoordinateSequenceUnique { /** * @param _x * @param _y * @param _z */ - public GISCoordinateSequenceUniqueImmutable(final double _x, final double _y, final double _z) { + public GisCoordinateSequenceUniqueImmutable(final double _x, final double _y, final double _z) { super(_x, _y, _z); } - public GISCoordinateSequenceUniqueImmutable() { + public GisCoordinateSequenceUniqueImmutable() { super(0, 0, 0); } /** * @param _c */ - public GISCoordinateSequenceUniqueImmutable(final Coordinate _c) { + public GisCoordinateSequenceUniqueImmutable(final Coordinate _c) { super(_c); } public Object clone() { - return new GISCoordinateSequenceUniqueImmutable(x_, y_, z_); + return new GisCoordinateSequenceUniqueImmutable(x_, y_, z_); } public void setOrdinate(final int _index,final int _ordinateIndex,final double _value){ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-23 10:31:47
|
Revision: 4560 http://fudaa.svn.sourceforge.net/fudaa/?rev=4560&view=rev Author: bmarchan Date: 2009-03-23 10:31:35 +0000 (Mon, 23 Mar 2009) Log Message: ----------- Changement de case. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GisCoordinateSequenceUniqueImmutable.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java 2009-03-23 10:03:11 UTC (rev 4559) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceFactory.java 2009-03-23 10:31:35 UTC (rev 4560) @@ -103,7 +103,7 @@ } //unique on renvoie l'unique if (_coordinates.length == 1) { - return new GisCoordinateSequenceUniqueImmutable(_coordinates[0]); + return new GISCoordinateSequenceUniqueImmutable(_coordinates[0]); } //la sequence par defaut return new GiSCoordinateSequenceImmutable(_coordinates); @@ -117,7 +117,7 @@ return getEmpty(); } if (_coordSeq.size() == 1) { - return new GisCoordinateSequenceUniqueImmutable(_coordSeq.getCoordinate(0)); + return new GISCoordinateSequenceUniqueImmutable(_coordSeq.getCoordinate(0)); } return new GiSCoordinateSequenceImmutable(_coordSeq); } @@ -127,7 +127,7 @@ return getEmpty(); } if (_size == 1) { - return new GisCoordinateSequenceUniqueImmutable(0, 0, 0); + return new GISCoordinateSequenceUniqueImmutable(0, 0, 0); } return new GiSCoordinateSequenceImmutable(_size); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GisCoordinateSequenceUniqueImmutable.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GisCoordinateSequenceUniqueImmutable.java 2009-03-23 10:03:11 UTC (rev 4559) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GisCoordinateSequenceUniqueImmutable.java 2009-03-23 10:31:35 UTC (rev 4560) @@ -15,30 +15,30 @@ * @author Fred Deniger * @version $Id: GisCoordinateSequenceUniqueImmutable.java,v 1.6 2006-09-19 14:36:53 deniger Exp $ */ -public final class GisCoordinateSequenceUniqueImmutable extends GISCoordinateSequenceUnique { +public final class GISCoordinateSequenceUniqueImmutable extends GISCoordinateSequenceUnique { /** * @param _x * @param _y * @param _z */ - public GisCoordinateSequenceUniqueImmutable(final double _x, final double _y, final double _z) { + public GISCoordinateSequenceUniqueImmutable(final double _x, final double _y, final double _z) { super(_x, _y, _z); } - public GisCoordinateSequenceUniqueImmutable() { + public GISCoordinateSequenceUniqueImmutable() { super(0, 0, 0); } /** * @param _c */ - public GisCoordinateSequenceUniqueImmutable(final Coordinate _c) { + public GISCoordinateSequenceUniqueImmutable(final Coordinate _c) { super(_c); } public Object clone() { - return new GisCoordinateSequenceUniqueImmutable(x_, y_, z_); + return new GISCoordinateSequenceUniqueImmutable(x_, y_, z_); } public void setOrdinate(final int _index,final int _ordinateIndex,final double _value){ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-23 10:03:24
|
Revision: 4559 http://fudaa.svn.sourceforge.net/fudaa/?rev=4559&view=rev Author: bmarchan Date: 2009-03-23 10:03:11 +0000 (Mon, 23 Mar 2009) Log Message: ----------- Correction de bug : Points ?\195?\160 Z null sur export Rubar + gestion des coordonn?\195?\169es doubl?\195?\169es + mise a jour Z des lignes directrices Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Exporter1d.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/Bief.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueCourbe.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java 2009-03-21 18:29:25 UTC (rev 4558) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java 2009-03-23 10:03:11 UTC (rev 4559) @@ -71,6 +71,8 @@ import org.fudaa.ebli.courbe.EGFillePanel; import org.fudaa.ebli.courbe.EGGraphe; import org.fudaa.ebli.courbe.EGGrapheSimpleModel; +import org.fudaa.ebli.trace.TraceIcon; +import org.fudaa.ebli.trace.TraceIconModel; import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuButton; @@ -470,6 +472,7 @@ EGCourbeModelProfile courbeModel=new EGCourbeModelProfile(this, ""); courbeVue_=new EGCourbeSimple(axeY_, courbeModel); courbeVue_.setAspectContour(Color.BLUE); + courbeVue_.setIconeModel(new TraceIconModel(TraceIcon.CARRE_PLEIN,2,Color.BLUE)); grapheModel.addCourbe(courbeVue_, new CtuluCommandManager()); // Conteneur de graphe EGFillePanel pnD=new EGFillePanel(grapheVue_); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java 2009-03-21 18:29:25 UTC (rev 4558) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java 2009-03-23 10:03:11 UTC (rev 4559) @@ -94,7 +94,9 @@ int idxAttLignesDirectrices=zone.getIndiceOf(GISAttributeConstants.INTERSECTIONS_LIGNES_DIRECTRICES); UtilsBief1d.orderProfils(profils_, -1, null); + // Normalise le sens du profil \\ + // FIXME BM : Voir si ca doit \xEAtre fait quand l'axe hydro n'existe pas. for (int k=0; k<profils_.getNombre(); k++) { Geometry profil=zone.getGeometry(k); CoordinateSequence seqProfil=((GISCoordinateSequenceContainerInterface)profil).getCoordinateSequence(); @@ -357,6 +359,7 @@ lignesContraints_=models_[i]; } // Remplissage des models vides par des ZModeles vides + // B.M. Ne doit pas se produire. if (axeHydraulique_==null) axeHydraulique_=new MdlModel1dAxe(null); if (profils_==null) @@ -516,9 +519,10 @@ Coordinate coord=inter.getCoordinate(); int previousIdx=UtilsProfil1d.getPreviousIndex(seq, coord); int nextIdx=UtilsProfil1d.getNextIndex(seq, coord); - // Le point n'appartient pas au profil ou La coordonn\xE9e correspond d\xE9j\xE0 \xE0 - // un point - if (previousIdx!=-2&&nextIdx!=-2&&previousIdx+1!=nextIdx-1&&nextIdx!=-1&&previousIdx!=-1) + // Le point n'appartient pas au profil ou la coordonn\xE9e correspond d\xE9j\xE0 \xE0 + // un point. Attention, le profil peut contenir plusieurs points confondus \xE0 l'intersection + // trouv\xE9e. D'ou le test (nextIdx-previousIdx)<2. + if (previousIdx!=-2&&nextIdx!=-2&&nextIdx!=-1&&previousIdx!=-1&&(nextIdx-previousIdx)<2) // La coordonn\xE9e correspond \xE0 aucun point connu ((GISZoneCollectionGeometry)profils_.getGeomData()).addAtomic(_idxProfil, previousIdx, coord.x, coord.y, null); } @@ -541,9 +545,10 @@ Coordinate coordIntersection=intersection.getCoordinate(); int previousIdx=UtilsProfil1d.getPreviousIndex(seqProfil, coordIntersection); int nextIdx=UtilsProfil1d.getNextIndex(seqProfil, coordIntersection); - // Le point n'appartient pas au profil ou La coordonn\xE9e correspond d\xE9j\xE0 \xE0 - // un point - if (previousIdx!=-2&&nextIdx!=-2&&previousIdx+1!=nextIdx-1&&nextIdx!=-1&&previousIdx!=-1) { + // Le point n'appartient pas au profil ou la coordonn\xE9e correspond d\xE9j\xE0 \xE0 + // un point. Attention, le profil peut contenir plusieurs points confondus \xE0 l'intersection + // trouv\xE9e. D'ou le test (nextIdx-previousIdx)<2. + if (previousIdx!=-2&&nextIdx!=-2&&nextIdx!=-1&&previousIdx!=-1&&(nextIdx-previousIdx)<2) { // La coordonn\xE9e correspond \xE0 aucun point connu ((GISZoneCollectionGeometry)zoneProfil).addAtomic(_idxProfil, previousIdx, coordIntersection.x, coordIntersection.y, null); seqProfil=zoneProfil.getCoordinateSequence(_idxProfil); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Exporter1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Exporter1d.java 2009-03-21 18:29:25 UTC (rev 4558) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Exporter1d.java 2009-03-23 10:03:11 UTC (rev 4559) @@ -16,7 +16,7 @@ /** * Un exporteur des donn\xE9es d'un bief vers des fichiers. * @author Bertrand Marchand - * @version $Id:$ + * @version $Id$ */ interface Exporter1d { @@ -32,7 +32,7 @@ /** * Exporteur pour Mascaret 1D, ou 2D. * @author Bertrand Marchand - * @version $Id:$ + * @version $Id$ */ class Mascaret implements Exporter1d { @@ -52,12 +52,16 @@ /** * Exporteur pour Rubar ST. * @author Bertrand Marchand - * @version $Id:$ + * @version $Id$ */ class Rubar implements Exporter1d { public Object[] export(Bief _bief, String _name) { GISDataModel[] params=new GISDataModel[2]; + // Remplit les Z coordonn\xE9es avec la valeur de l'attribut Z + _bief.profils_.getGeomData().prepareExport(); + _bief.lignesDirectrices_.getGeomData().prepareExport(); + params[0]=_bief.profils_.getGeomData(); params[1]=_bief.lignesDirectrices_.getGeomData(); return params; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/Bief.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/Bief.java 2009-03-21 18:29:25 UTC (rev 4558) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/Bief.java 2009-03-23 10:03:11 UTC (rev 4559) @@ -295,6 +295,9 @@ updateGeom(_idxGeom, limitesStockagsesModified_, 0, idxAttlsGauche_); else if (_att==GISAttributeConstants.INTERSECTION_LIMITE_STOCKAGE_DROITE) updateGeom(_idxGeom, limitesStockagsesModified_, 1, idxAttlsDroite_); + else if (_att==GISAttributeConstants.BATHY) + for(int i=0;i<lignesDirectricesModified_.getGeomData().getNumGeometries();i++) + updateLd(i); else if (_att==GISAttributeConstants.INTERSECTIONS_LIGNES_DIRECTRICES) /* * Attention subtilit\xE9 : Quand l'attribut est @@ -321,6 +324,7 @@ } public void geometryAction(Object _source, int _idxGeom, Geometry _geom, int _action) { + // La g\xE9om\xE9trie d'un profil a \xE9t\xE9 modifi\xE9e, on remet a jour les g\xE9om\xE9tries volatiles. if (_action==ZModelGeometryListener.GEOMETRY_ACTION_MODIFY) { updateGeom(_idxGeom, rivesModified_, 0, idxAttRiveGauche_); updateGeom(_idxGeom, rivesModified_, 1, idxAttRiveDroite_); @@ -336,6 +340,9 @@ */ private void regenerateAll() { GISZoneCollection zone=profilsListen_.getGeomData(); + // Pour que les coordonn\xE9es qui sont conserv\xE9es pour les g\xE9om\xE9tries volatiles soient correctement initialis\xE9es en Z. + zone.prepareExport(); + // Cr\xE9ation des nouvelles g\xE9om\xE9tries \\ // Rives Coordinate[] riveGauche=new Coordinate[profilsListen_.getNombre()]; @@ -395,6 +402,7 @@ if (ld[i].length>1) lignesDirectricesModified_.getGeomData().addGeometry(new GISPolyligne(new GISCoordinateSequenceFactory().create(ld[i])), dataLignesDirectrices[i], null); + lignesDirectrices_.getGeomData().postImport(0); } /** @@ -417,7 +425,7 @@ } /** - * Met \xE0 jours les lignes directrices. + * Remet \xE0 jour les coordonn\xE9es d'une ligne directrices depuis celles des profils. * si _idxGeom=-1, rien n'est fait * * @param _idxGeom @@ -426,20 +434,27 @@ private void updateLd(int _idxGeom) { if (_idxGeom==-1) return; + boolean binitZ=false; CoordinateSequence seqLd=lignesDirectricesModified_.getGeomData().getCoordinateSequence(_idxGeom); for (int i=0; i<profilsListen_.getNombre(); i++) { GISAttributeModelIntegerList lstIdx=(GISAttributeModelIntegerList)profilsListen_.getGeomData().getValue( idxAttlignesDirectrices_, i); + + // La construction des lignes directrices se fait a partir des coordonn\xE9es. + profilsListen_.getGeomData().initZCoordinate(i); CoordinateSequence seqProfil=profilsListen_.getGeomData().getCoordinateSequence(i); Coordinate coodProfil=seqProfil.getCoordinate(lstIdx.getValue(_idxGeom)); // Test si c'est bien un point \xE0 mettre \xE0 jour if (!UtilsProfil1d.egal(coodProfil, seqLd.getCoordinate(i))) { + binitZ=true; seqLd.setOrdinate(i, 0, coodProfil.x); seqLd.setOrdinate(i, 1, coodProfil.y); seqLd.setOrdinate(i, 2, coodProfil.z); lignesDirectricesModified_.getGeomData().setCoordinateSequence(_idxGeom, seqLd, null); } } + if (binitZ) + lignesDirectricesModified_.getGeomData().initZAttribute(_idxGeom); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java 2009-03-21 18:29:25 UTC (rev 4558) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java 2009-03-23 10:03:11 UTC (rev 4559) @@ -19,19 +19,17 @@ import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluListSelection; import org.fudaa.ctulu.CtuluNamedCommand; -import org.fudaa.ctulu.collection.CtuluCollection; import org.fudaa.ctulu.gis.GISAttributeConstants; import org.fudaa.ctulu.gis.GISAttributeInterface; +import org.fudaa.ctulu.gis.GISAttributeModel; import org.fudaa.ctulu.gis.GISAttributeModelIntegerList; import org.fudaa.ctulu.gis.GISCoordinateSequenceContainerInterface; import org.fudaa.ctulu.gis.GISGeometryFactory; import org.fudaa.ctulu.gis.GISLib; import org.fudaa.ctulu.gis.GISZoneCollection; import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; -import org.fudaa.ebli.geometrie.GrSegment; import org.fudaa.ebli.geometrie.GrVecteur; import org.fudaa.fudaa.commun.FudaaLib; -import org.fudaa.fudaa.modeleur.LibUtils; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.CoordinateSequence; @@ -114,8 +112,6 @@ private BiefContainer biefContainer_; /** Le profil selectionn\xE9. */ private int idxProfilSelected_=-1; - /** La collection contenant les Z des points du profil selectionn\xE9. */ - private CtuluCollection z_; /** La liste contenant les abscisses en travers du profil selectionn\xE9 */ private List<Double> curv_; // Caches \\ @@ -156,7 +152,6 @@ public void biefSelectedChanged(String _newName) { int oldSelectedProfil=idxProfilSelected_; idxProfilSelected_=-1; - z_=null; curv_=null; fireProfilContainerSelectedChanged(oldSelectedProfil, idxProfilSelected_); } @@ -169,7 +164,6 @@ if(_idxProfil==idxProfilSelected_) { int oldSelectedProfil=idxProfilSelected_; idxProfilSelected_=-1; - z_=null; curv_=null; fireProfilContainerSelectedChanged(oldSelectedProfil, idxProfilSelected_); } @@ -180,17 +174,18 @@ /** * Met \xE0 jour les valeurs zMin et zMax. - * Si z_ est null, zMin et zMax sont mises \xE0 -1. + * Si z est null, zMin et zMax sont mises \xE0 -1. */ protected void updateCacheZ(){ - if(z_!=null) { + GISAttributeModel z=getZCollection(); + if(z!=null) { idxZMax_=0; idxZMin_=0; - for (int i=1; i<z_.getSize(); i++) { - double val=(Double)z_.getObjectValueAt(i); - if (val>(Double)z_.getObjectValueAt(idxZMax_)) + for (int i=1; i<z.getSize(); i++) { + double val=(Double)z.getObjectValueAt(i); + if (val>(Double)z.getObjectValueAt(idxZMax_)) idxZMax_=i; - else if (val<(Double)z_.getObjectValueAt(idxZMin_)) + else if (val<(Double)z.getObjectValueAt(idxZMin_)) idxZMin_=i; } } @@ -230,7 +225,6 @@ */ protected void updateData() throws IllegalArgumentException, ProfilContainerException { if (idxProfilSelected_==-1) { - z_=null; curv_=null; curviligneDecalage_=0; idxRuptures_.clear(); @@ -252,20 +246,40 @@ if (seq.getX(i-1)==seq.getX(i)&&seq.getY(i-1)==seq.getY(i)) throw new ProfilContainerException(FudaaLib.getS("Au moins deux points dans le profil sont confondus.")); */ - // Verifie que le profil donn\xE9 ne poss\xE8de pas des axes qui se coupent entre eux \\ + // Verifie que le profil donn\xE9 ne poss\xE8de pas des segments qui se coupent entre eux \\ for(int i=1;i<seq.size();i++){ - Geometry mainAxe=GISGeometryFactory.INSTANCE.createLineString(new Coordinate[]{seq.getCoordinate(i-1), seq.getCoordinate(i)}); + // On passe les segments de longueur nulle. + if (seq.getCoordinate(i-1).equals2D(seq.getCoordinate(i))) continue; + + Geometry seg1=GISGeometryFactory.INSTANCE.createLineString(new Coordinate[]{seq.getCoordinate(i-1), seq.getCoordinate(i)}); boolean ok=true; - // Un seul point d'intersection avec l'axe qui suit - if(i+1<seq.size()&&mainAxe.intersection(GISGeometryFactory.INSTANCE.createLineString(new Coordinate[]{seq.getCoordinate(i), seq.getCoordinate(i+1)})).getNumPoints()>1) - ok=false; - // Aucun point d'intersectin avec les axes qui suivent + + // Valide : Un seul point d'intersection avec l'axe qui suit int j=i; - while(ok&&++j+1<seq.size()) - ok=(!mainAxe.intersects(GISGeometryFactory.INSTANCE.createLineString(new Coordinate[]{seq.getCoordinate(j), seq.getCoordinate(j+1)})))||seq.getCoordinate(j).equals(seq.getCoordinate(i)); - // Traitement d'une \xE9ventuelle intersection + while(ok && j+1<seq.size()) { + // On passe les segments de longueur nulle. + if (!seq.getCoordinate(j).equals2D(seq.getCoordinate(j+1))) { + Geometry seg2=GISGeometryFactory.INSTANCE.createLineString(new Coordinate[]{seq.getCoordinate(j), seq.getCoordinate(j+1)}); + ok=seg1.intersection(seg2).getNumPoints()==1; + j++; + break; + } + j++; + } + + // Valide : Aucun point d'intersection avec les axes qui suivent + while(ok && j+1<seq.size()) { + // On passe les segments de longueur nulle. + if (!seq.getCoordinate(j).equals2D(seq.getCoordinate(j+1))) { + Geometry seg2=GISGeometryFactory.INSTANCE.createLineString(new Coordinate[]{seq.getCoordinate(j), seq.getCoordinate(j+1)}); + ok=!seg1.intersects(seg2); + } + j++; + } + + // Une intersection a \xE9t\xE9 trouv\xE9e. if(!ok) - throw new ProfilContainerException(FudaaLib.getS("Le profil se coupe lui m\xEAme. Il n'est donc pas valide.")); + throw new ProfilContainerException(FudaaLib.getS("Profil non conforme : Il se coupe lui m\xEAme")); } /// D\xE9termination des points de ruptures. \\\ @@ -299,10 +313,9 @@ idxRuptures[i+1]=it.next(); idxRuptures[idxRuptures.length-1]=seq.size()-1; // On ne lin\xE9arise plus. Pose des probl\xE8me lors des undo, car les collections sont modifi\xE9es. Ce n'est pas priori pas g\xE9nant, - // les points de ruptures fonctionnent semblent regler une partie du probl\xE8me. + // les points de ruptures semblent regler la totalit\xE9 du probl\xE8me. // LibUtils.linearisePolyligne(biefContainer_.getZoneProfils(), idxProfilSelected_, idxRuptures, null); - z_=(CtuluCollection)biefContainer_.getZoneProfils().getValue(biefContainer_.getZoneProfils().getIndiceOf(biefContainer_.getZoneProfils().getAttributeIsZ()), idxProfilSelected_); curv_=new ArrayList<Double>(); // Calcul des acbscisses curvilignes => hypoth\xE8se d'ordonnancement correcte des points \\ updateCacheCurv(); @@ -313,7 +326,6 @@ catch(ProfilContainerException _exp) { // Remise dans un \xE9tat coh\xE9rent idxProfilSelected_=-1; - z_=null; curv_=null; curviligneDecalage_=0; idxRuptures_.clear(); @@ -344,6 +356,14 @@ } /** + * Retourne la collection correspondant au Z profil. + */ + private GISAttributeModel getZCollection() { + if (idxProfilSelected_==-1) return null; + return (GISAttributeModel)getValueOf(biefContainer_.getZoneProfils().getAttributeIsZ()); + } + + /** * Retourne la valeur de l'attribut d'intersection demand\xE9. */ private Object getValueOf(GISAttributeInterface attr_) { @@ -651,7 +671,7 @@ if (intersect.getNumPoints()!=1) { cmp.undo(); // Annulation des modifications throw new ProfilContainerException( - FudaaLib.getS("D\xE9placement non autoris\xE9 : Le profil couperait l'axe hydraulique en au moins deux endroits.")); + FudaaLib.getS("D\xE9placement non autoris\xE9 : Le profil coupe l'axe hydraulique en deux endroits.")); } } } @@ -687,9 +707,10 @@ } public double getZ(int _idxPoint) { - if (z_==null||_idxPoint<0||_idxPoint>=z_.getSize()) + GISAttributeModel z=getZCollection(); + if (z==null||_idxPoint<0||_idxPoint>=z.getSize()) throw new IllegalArgumentException("Cet index n'existe pas."); - return ((Double)z_.getObjectValueAt(_idxPoint)).doubleValue(); + return ((Double)z.getObjectValueAt(_idxPoint)).doubleValue(); } public void setCurv(int _idxPoint, double _value, CtuluCommandContainer _cmd) throws ProfilContainerException { @@ -944,20 +965,26 @@ public void setZ(int _idxPoint, double _value, CtuluCommandContainer _cmd) { if (getZ(_idxPoint)==_value) return; - if (z_==null||_idxPoint<0||_idxPoint>=z_.getSize()) + GISAttributeModel z=getZCollection(); + if (z==null||_idxPoint<0||_idxPoint>=z.getSize()) throw new IllegalArgumentException("Cet index n'existe pas."); - CtuluCommandComposite cmd=new CtuluCommandComposite("Changement z"); + CtuluCommandComposite cmp=new CtuluCommandComposite("Changement z"); // Mise \xE0 jour du z \\ - z_.setObject(_idxPoint, _value, cmd); + // B.M. Il faut indiquer que l'attribut a chang\xE9, pour que les g\xE9om\xE9tries volatiles soient remises a jour. + z=((GISAttributeModel)z).createSubModel(new int[0]); + z.setObject(_idxPoint, _value, null); + int iattZ=biefContainer_.getZoneProfils().getIndiceOf(GISAttributeConstants.BATHY); + biefContainer_.getZoneProfils().setAttributValue(iattZ, idxProfilSelected_, z, cmp); + // Gestion du undo/redo \\ if(_cmd!=null) - _cmd.addCmd(new DGCommandUndoRedo(cmd, true, false)); + _cmd.addCmd(new DGCommandUndoRedo(cmp, true, false)); // Mise \xE0 jour de idxZMin_ et idxZMax_ if (_idxPoint==idxZMax_||_idxPoint==idxZMin_) updateCacheZ(); - else if (_value>(Double)z_.getObjectValueAt(idxZMax_)) + else if (_value>(Double)z.getObjectValueAt(idxZMax_)) idxZMax_=_idxPoint; - else if (_value<(Double)z_.getObjectValueAt(idxZMin_)) + else if (_value<(Double)z.getObjectValueAt(idxZMin_)) idxZMin_=_idxPoint; fireProfilContainerDataModified(); } @@ -977,17 +1004,19 @@ } public double getZMax() { - if(z_==null) + GISAttributeModel z=getZCollection(); + if(z==null) return 0; else - return (Double) z_.getObjectValueAt(idxZMax_); + return (Double) z.getObjectValueAt(idxZMax_); } public double getZMin() { - if(z_==null) + GISAttributeModel z=getZCollection(); + if(z==null) return 0; else - return (Double) z_.getObjectValueAt(idxZMin_); + return (Double) z.getObjectValueAt(idxZMin_); } public void setValues(int _idxPoint, double _valueCurv, double _valueZ, CtuluCommandContainer _cmd) throws ProfilContainerException{ @@ -1003,7 +1032,8 @@ } public void remove(int _idxPoint, CtuluCommandContainer _cmd) throws ProfilContainerException { - if(biefContainer_.getZoneProfils()==null||z_==null||curv_==null||_idxPoint<0||_idxPoint>=curv_.size()) + GISAttributeModel z=getZCollection(); + if(biefContainer_.getZoneProfils()==null||z==null||curv_==null||_idxPoint<0||_idxPoint>=curv_.size()) throw new IllegalArgumentException("Cet index n'existe pas."); if(curv_.size()==2) throw new ProfilContainerException("On ne peut pas enlever un point quand il n'en reste que deux."); @@ -1013,7 +1043,6 @@ // Gestion du undo/redo \\ if(_cmd!=null) _cmd.addCmd(new DGCommandUndoRedo(cmd, true, true)); - z_=(CtuluCollection)biefContainer_.getZoneProfils().getValue(biefContainer_.getZoneProfils().getIndiceOf(biefContainer_.getZoneProfils().getAttributeIsZ()), idxProfilSelected_); // Mise \xE0 jour des informations curvilignes \\ if (_idxPoint==0) { // Si _idxPoint est le premier point Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java 2009-03-21 18:29:25 UTC (rev 4558) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java 2009-03-23 10:03:11 UTC (rev 4559) @@ -98,8 +98,11 @@ } // Verification de l'\xE9crasement - if(f.exists()&&!ui_.question(CtuluLib.getS("Attention"), CtuluLib.getS("Le fichier {0} existe d\xE9j\xE0. Voulez-vous l'\xE9craser?", CtuluLibFile.getSansExtension(f.getName())))) + if(f.exists()) { + if (!ui_.question(CtuluLib.getS("Attention"), CtuluLib.getS("Le fichier '{0}' existe d\xE9j\xE0. Voulez-vous l'\xE9craser?", f.getName()))) return false; + f.delete(); + } if (CtuluLibFile.getExtension(CtuluLibFile.getSansExtension(f.getName()))!=null) { setErrorText(CtuluLib.getS("Ne mettez pas plusieurs '.' dans le nom.")); return false; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueCourbe.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueCourbe.java 2009-03-21 18:29:25 UTC (rev 4558) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueCourbe.java 2009-03-23 10:03:11 UTC (rev 4559) @@ -39,6 +39,8 @@ import org.fudaa.ebli.courbe.EGGrapheSimpleModel; import org.fudaa.ebli.courbe.EGModel; import org.fudaa.ebli.palette.BPaletteInfo.InfoData; +import org.fudaa.ebli.trace.TraceIcon; +import org.fudaa.ebli.trace.TraceIconModel; import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.trace.TraceLigneModel; import org.fudaa.fudaa.commun.FudaaLib; @@ -458,6 +460,7 @@ courbeModel_=new CourbeGeomModel(_dataGeom); courbe_=new EGCourbeSimple(axeY, courbeModel_); courbe_.setAspectContour(Color.RED); + courbe_.setIconeModel(new TraceIconModel(TraceIcon.CARRE_PLEIN,2,Color.RED)); grapheModel.addCourbe(courbe_, null); // Cr\xE9ation du panel contenant l'ensemble des courbes \\ containerCourbe_ = new EGFillePanel(grapheVue_); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java 2009-03-21 18:29:25 UTC (rev 4558) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java 2009-03-23 10:03:11 UTC (rev 4559) @@ -92,7 +92,7 @@ * @throws ProfilContainerException */ public void moveProfilOnAxeHydraulique(double _value) throws ProfilContainerException { - CtuluCommandComposite cmp=new CtuluCommandComposite(FudaaLib.getS("D\xE9placement d'un profil")); + CtuluCommandComposite cmp=new CtuluCommandComposite(FudaaLib.getS("Changement d'abscisse de profil sur l'axe")); boolean result=data_.moveProfilOnAxeHydraulique(_value, cmp); if(result) controller_.orderProfils(cmp); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2009-03-21 18:29:28
|
Revision: 4558 http://fudaa.svn.sourceforge.net/fudaa/?rev=4558&view=rev Author: deniger Date: 2009-03-21 18:29:25 +0000 (Sat, 21 Mar 2009) Log Message: ----------- optimisation trajectoire Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluUIDefault.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/decorator/EfGridDataCacheSoftReferenceDecorator.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfIndexVisitorHashSet.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfLineIntersectorActivity.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfTrajectoireActivity.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCoteTester.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/tr_en.fr_txt branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceBuilder.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostTrajectoireComputeAndDisplayActivity.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostTrajectoireTaskModel.java branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/build.xml Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/fudaa/test/org/fudaa/fudaa/tr/TestTrajectoire.java branches/Prepro-0.92-SNAPSHOT/fudaa/xyTest.txt Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluUIDefault.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluUIDefault.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluUIDefault.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -9,62 +9,62 @@ import java.awt.Component; - /** + * Un ui par defaut. + * * @author fred deniger * @version $Id: CtuluUIDefault.java,v 1.12 2007-01-17 10:45:25 deniger Exp $ - * */ public class CtuluUIDefault extends CtuluUIAbstract { - - public CtuluUIDefault(){ - } + public CtuluUIDefault() {} + ProgressionInterface mainProgression_; - private void err(final String _title,final String _msg){ + + private void err(final String _title, final String _msg) { System.err.println(_title + ": " + _msg); } - private void out(final String _title,final String _msg){ + + private void out(final String _title, final String _msg) { System.out.println(_title + ": " + _msg); } + public void error(final String _titre, final String _msg, final boolean _tempo) { + err(getErrorTitle(_titre), _msg); - public void error(final String _titre,final String _msg, final boolean _tempo){ - err(getErrorTitle(_titre),_msg); - } - public void message(final String _titre,final String _msg, final boolean _tempo){ - out(getInfoTitle(_titre) ,_msg); + public void message(final String _titre, final String _msg, final boolean _tempo) { + out(getInfoTitle(_titre), _msg); } - - public void clearMainProgression() {} + public ProgressionInterface getMainProgression() { return getMainState(); } - public ProgressionInterface getMainState(){ + + public ProgressionInterface getMainState() { if (mainProgression_ == null) { mainProgression_ = new ProgressionFuAdapter("MAIN"); } return mainProgression_; } - public CtuluTaskDelegate createTask(final String _name){ + public CtuluTaskDelegate createTask(final String _name) { return new CtuluTaskOperationDefault(_name); } - public Component getParentComponent(){ + public Component getParentComponent() { return null; } - public boolean question(final String _titre,final String _text){ - out(getQuestionTitle(_titre) , _text); + public boolean question(final String _titre, final String _text) { + out(getQuestionTitle(_titre), _text); return true; } - public void warn(final String _titre,final String _msg, final boolean _tempo){ + public void warn(final String _titre, final String _msg, final boolean _tempo) { err(getWarnTitle(_titre), _msg); } Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/decorator/EfGridDataCacheSoftReferenceDecorator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/decorator/EfGridDataCacheSoftReferenceDecorator.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/decorator/EfGridDataCacheSoftReferenceDecorator.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -28,7 +28,7 @@ final EfGridData init_; - int maxSize_ = 10; + int maxSize_ = 30; TIntObjectHashMap timeMap_ = new TIntObjectHashMap((int) (maxSize_ / 0.75)); @@ -45,7 +45,7 @@ EfData efData = reference == null ? null : reference.get(); if (FuLog.isDebug()) { - FuLog.debug("EfGridDataCacheDecorator getDataFrom cache for " + _o + " " + _timeIdx + " found " + FuLog.debug("EfGridDataCacheSoftReferenceDecorator getDataFrom cache for " + _o + " " + _timeIdx + " found " + (efData != null)); } @@ -64,6 +64,9 @@ public double getData(CtuluVariable _o, int _timeIdx, int _idxObjet) throws IOException { EfData data = getCachedData(_o, _timeIdx); + if (data == null) { + data = getData(_o, _timeIdx); + } if (data != null) return data.getValue(_idxObjet); return init_.getData(_o, _timeIdx, _idxObjet); } @@ -105,12 +108,6 @@ protected void setCachedData(CtuluVariable _o, int _timeIdx, EfData _data) { Map<CtuluVariable, SoftReference<EfData>> res = (Map<CtuluVariable, SoftReference<EfData>>) timeMap_.get(_timeIdx); if (res == null) { - // on reduit la map - // if (timeMap_.size() > maxSize_) { - // int[] keys = timeMap_.keys(); - // Arrays.sort(keys); - // timeMap_.remove(keys[0]); - // } res = new HashMap<CtuluVariable, SoftReference<EfData>>(10); timeMap_.put(_timeIdx, res); } Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfIndexVisitorHashSet.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfIndexVisitorHashSet.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfIndexVisitorHashSet.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -44,7 +44,7 @@ } public void visitItem(final Object _item) { - items_.add(((Number) _item).intValue()); + visitItem(((Number) _item).intValue()); } public void visitItem(final int _item) { @@ -64,4 +64,14 @@ return res; } + /** + * @param _preselectMeshes + */ + public void set(TIntHashSet _preselectMeshes) { + items_.clear(); + for (TIntIterator it = _preselectMeshes.iterator(); it.hasNext();) { + items_.add(it.next()); + } + } + } Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfLineIntersectorActivity.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfLineIntersectorActivity.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfLineIntersectorActivity.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -7,6 +7,7 @@ */ package org.fudaa.dodico.ef.operation; +import gnu.trove.TIntHashSet; import gnu.trove.TIntIterator; import java.util.ArrayList; @@ -210,6 +211,7 @@ } protected void addIntersectFor(int _idxElt, List _res) { + EfElement elt = grid_.getElement(_idxElt); int nbArete = elt.getNbEdge(); tmp_.clear(); @@ -303,7 +305,12 @@ env_.expandToInclude(ptLine2_); // on recupere les \xE9l\xE9ments selectionn\xE9s par l'enveloppe du segment eltSelected_.clear(); - index.query(env_, eltSelected_); + if (preselectMeshes_ != null && preselectMeshes_.size() > 0) { + eltSelected_.set(preselectMeshes_); + + } else { + index.query(env_, eltSelected_); + } // si c'est les memes points, on fait rien ... // le premier point du segment addIntersectionForSegExtremite(res, ptLine1_.x, ptLine1_.y, eltSelected_); @@ -329,6 +336,12 @@ grid_.getNeighbors(); } + TIntHashSet preselectMeshes_; + + public void setPreselectedMeshes(TIntHashSet _preselectMeshes) { + preselectMeshes_ = _preselectMeshes; + } + public final EfLineIntersectionsResultsMng computeFor(LineString _str, ProgressionInterface _prog, boolean _forElement) { LineString str = GISGeometryFactory.INSTANCE.createLineString(GISGeometryFactory.INSTANCE .getCoordinateSequenceFactory().create(_str.getCoordinateSequence())); @@ -382,12 +395,6 @@ .getCoordinateSequence().getY(i + 1)); up.majAvancement(); } - /* - * if (_forElement) { // on enleve les intersections internes qui sont sur des aretes et qui sont entour\xE9 par des - * intersections sur // des \xE9l\xE9ments. Ces intersections sont inutiles for (int i = list.size() - 2; i > 0; i--) { if - * (((EfLineIntersection) list.get(i)).isEdgeIntersection() && ((EfLineIntersection) list.get(i - - * 1)).isRealIntersection() && ((EfLineIntersection) list.get(i + 1)).isRealIntersection()) { list.remove(i); } } } - */ EfLineIntersection[] intersections = (EfLineIntersection[]) list.toArray(new EfLineIntersection[list.size()]); return new EfLineIntersectionsResultsMng(gridData_, intersections, computeIsOut(intersections, _prog), str, Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfTrajectoireActivity.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfTrajectoireActivity.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfTrajectoireActivity.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -33,32 +33,13 @@ */ public class EfTrajectoireActivity implements CtuluActivity { - /** - * @return the tester - */ - public EfLineIntersectionsCorrectionTester getTester() { - return tester_; - } - - /** - * @param _tester the tester to set - */ - public void setTester(EfLineIntersectionsCorrectionTester _tester) { - tester_ = _tester; - } - final EfLineIntersectionsCorrectionTester lineIntersectCorrect_; /** * Liste des intersections r\xE9sultats */ - ArrayList<EfLineIntersection> listeIntersection_ = null; + ArrayList<EfLineIntersection> listeIntersection_; - // List<Coordinate> listePointsARepartir_ = new ArrayList<Coordinate>(); // les GrPoint ne sont utilisee que pour - - // l'affichage - // ProgressionInterface prog_; - EfGridDataInterpolator gridDatas_; EfLineIntersectorActivity intersectFinder_; EfLineIntersectionsCorrectionActivity correctionActivity = new EfLineIntersectionsCorrectionActivity(); @@ -111,6 +92,20 @@ } /** + * @return the tester + */ + public EfLineIntersectionsCorrectionTester getTester() { + return tester_; + } + + /** + * @param _tester the tester to set + */ + public void setTester(EfLineIntersectionsCorrectionTester _tester) { + tester_ = _tester; + } + + /** * Methode appel\xE9e par l'interface de calcul des lignes de courant. * * @param init_ point de depart @@ -266,7 +261,7 @@ absDeltaT = newT - lastTime; final double newx = lastCoordinate.x + vx * absDeltaT; final double newy = lastCoordinate.y + vy * absDeltaT; - + intersectFinder_.setPreselectedMeshes(elementsAdjacent); EfLineIntersectionsResultsI intersectResult = intersectFinder_.computeFor( GISGeometryFactory.INSTANCE.createSegment(lastCoordinate.x, lastCoordinate.y, newx, newy), null, gridDatas_.getData().isElementVar(parameters.vx)).getDefaultRes(); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCoteTester.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCoteTester.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCoteTester.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -69,6 +69,7 @@ public boolean createNews(final int _tidx, final EfLineIntersection _i1, final EfLineIntersection _i2, final List _setNewIn) { + if(!_i1.isRealIntersection()|| !_i2.isRealIntersection()) return false; // les b repr\xE9sentent la bathy final double b1 = _i1.getValue(bathy_, _tidx); final double b2 = _i2.getValue(bathy_, _tidx); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/tr_en.fr_txt =================================================================== (Binary files differ) Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceBuilder.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceBuilder.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceBuilder.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -112,6 +112,14 @@ } + /** + * @param _f + * @param _impl + * @param _id l'identifiant du fichier utilise si le format du fichier n'a pas \xE9t\xE9 trouve selon l'extension + * @param _prog + * @param _otherData + * @return + */ public static TrPostSource activeSourceAction(final File _f, final CtuluUI _impl, final String _id, final ProgressionInterface _prog, final Map _otherData) { if (_f == null) { return null; } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostTrajectoireComputeAndDisplayActivity.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostTrajectoireComputeAndDisplayActivity.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostTrajectoireComputeAndDisplayActivity.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -1,5 +1,6 @@ package org.fudaa.fudaa.tr.post; +import java.awt.EventQueue; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -107,7 +108,7 @@ FSigLayerGroup traj_; - TrPostTrajectoireLineLayer calqueAecraser_ ; + TrPostTrajectoireLineLayer calqueAecraser_; public TrPostTrajectoireComputeAndDisplayActivity(final TrPostVisuPanel calque, TrPostTrajectoireLineLayer c) { this.pn_ = calque; @@ -129,7 +130,7 @@ * @param _prog l'interface de progression, peut etre null * @return */ - public String computeLigneCourant(TrPostVisuPanel vue2d, final EfTrajectoireParameters _data, + public String computeLigneCourant(final TrPostVisuPanel vue2d, final EfTrajectoireParameters _data, final CtuluAnalyze _analyse, final ProgressionInterface _prog) { stop_ = false; // on recupere les lignes de courant @@ -153,7 +154,21 @@ lb.setAttributes(attDansOrdreIns.toArray(new GISAttributeInterface[attDansOrdreIns.size()]), null); lb.addAll(model, null, false); - String titreCalque = ""; + final String titreCalque = getCalqueTitle(_data); + EventQueue.invokeLater(new Runnable() { + public void run() { + final ZCalqueLigneBrisee la = createLayer(vue2d, _data, dest, lb, titreCalque, findAttributeForVariable( + varAtttributes, MARK)); + la.setDestructible(true); + dest.enPremier(la); + } + }); + return TrResource.TR.getString("Calque {0} cr\xE9\xE9", titreCalque); + + } + + private String getCalqueTitle(final EfTrajectoireParameters _data) { + String titreCalque; if (calqueAecraser_ == null) { CtuluDialogPanel pn = new CtuluDialogPanel(false); pn.setLayout(new BuGridLayout(2)); @@ -169,12 +184,7 @@ this.pn_.detruireCalque(calqueAecraser_); } - final ZCalqueLigneBrisee la = createLayer(vue2d, _data, dest, lb, titreCalque, findAttributeForVariable( - varAtttributes, MARK)); - la.setDestructible(true); - dest.enPremier(la); - return TrResource.TR.getString("Calque {0} cr\xE9\xE9", la.getTitle()); - + return titreCalque; } GISAttributeInterface findAttributeForVariable(Map<GISAttributeInterface, CtuluVariable> _varAtttributes, Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostTrajectoireTaskModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostTrajectoireTaskModel.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostTrajectoireTaskModel.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -46,8 +46,6 @@ import org.fudaa.fudaa.tr.post.TrPostTrajectoireLineLayer; import org.fudaa.fudaa.tr.post.TrPostVisuPanel; -import sun.security.action.GetLongAction; - import com.memoire.bu.BuComboBox; import com.memoire.bu.BuGridLayout; import com.memoire.bu.BuPanel; @@ -215,7 +213,7 @@ // -- premier point --// doubleEditor_.setValue(dataReplay.segment_.get(0).x, x_); doubleEditor_.setValue(dataReplay.segment_.get(0).y, y_); - integerEditor_.setValue(dataReplay.nbPointsInitiaux_,nbPoints_); + integerEditor_.setValue(dataReplay.nbPointsInitiaux_, nbPoints_); // -- dernier point --// doubleEditor_.setValue(dataReplay.segment_.get(dataReplay.segment_.size() - 1).x, x2_); doubleEditor_.setValue(dataReplay.segment_.get(dataReplay.segment_.size() - 1).y, y2_); @@ -234,6 +232,11 @@ Coordinate c = getFirsCoordinate(); Coordinate cEnd = getEndCoordinate(); int nbLigne = (Integer) integerEditor_.getValue(nbPoints_); + return getPointsFromSegment(c, cEnd, nbLigne); + + } + + public static List<Coordinate> getPointsFromSegment(Coordinate c, Coordinate cEnd, int nbLigne) { List<Coordinate> res = new ArrayList<Coordinate>(nbLigne); if (c.distance(cEnd) < MAXDIST) { res.add(c); @@ -255,7 +258,6 @@ } res.add(cEnd); return res; - } private Coordinate getEndCoordinate() { @@ -269,6 +271,7 @@ public void actTask(final ProgressionInterface _prog, final CtuluAnalyze _analyze, final String[] _messages) { // on recupere les points List<Coordinate> points = getPoints(); + _prog.setDesc(TrResource.getS("Construction des points")); int idxRemove = 0; // on enleve les points en dehors for (Iterator<Coordinate> it = points.iterator(); it.hasNext();) { @@ -295,36 +298,18 @@ _messages[0] = txt; } - // -- creation de la donn\xE9e persistante qui a permi de creer les infos --// - // TrPostTrajectoireLineLayerPersist persist=new TrPostTrajectoireLineLayerPersist(); - // persist.setPoint1(getFirsCoordinate()); - // persist.setPoint2(getEndCoordinate()); - // persist.setTrajectoire(isTrajectoire()); - // persist.setFinesse((Integer) integerEditor_.getValue(finesse_)); - // persist.setDureeCalcul(getDuree()); - // persist.setNbCesures((Integer)integerEditor_.getValue(nbPoints_)); Object[] selectedValues = listVar_.getSelectedValues(); - // HashSet<String> listeVar= new HashSet<String>(); - // for(int i=0;i<selectedValues.length;i++) - // listeVar.add(((CtuluVariable)selectedValues[i]).getID()); - // persist.setListeVariablesId(listeVar); - // if(isMarqueurTimeStep()) - // persist.setTypeMarqueur(1); - // else if(isMarqueurAvailable()) - // persist.setTypeMarqueur(2); - // else - // persist.setTypeMarqueur(0); - // // creation de l algo + _prog.setDesc(TrResource.getS("Calcul")); algoCalcul_ = new TrPostTrajectoireComputeAndDisplayActivity(calque_, layerAEcraser_); final TrPostFlecheContent flecheContent = getSelectedVariable(); final EfTrajectoireParameters data = new EfTrajectoireParameters(); - data.segment_=new ArrayList<Coordinate>(); + data.segment_ = new ArrayList<Coordinate>(); data.segment_.add(getFirsCoordinate()); data.segment_.add(getEndCoordinate()); - data.nbPointsInitiaux_=(Integer) integerEditor_.getValue(nbPoints_); - + data.nbPointsInitiaux_ = (Integer) integerEditor_.getValue(nbPoints_); + data.vx = flecheContent.getVx(); data.vy = flecheContent.getVy(); data.dureeIntegration_ = getDuree(); @@ -553,9 +538,6 @@ } public String isValid() { - // pas necessaire - // if (listVar_.getSelectedIndex() == -1) { return TrResource.getS("Il faut choisir une variable"); } - // if (cbFirstTime_.getSelectedIndex() == -1) { return TrResource.getS("Il faut choisir un pas de temps"); } if (!this.integerEditor_.isValueValidFromComponent(finesse_)) { return TrResource .getS("La finesse doit \xEAtre d\xE9fini par un entier sup\xE9rieur \xE0 1"); } if (!isSegmentValid()) { return TrResource.getS("Le segment n'est pas d\xE9fini"); } Added: branches/Prepro-0.92-SNAPSHOT/fudaa/test/org/fudaa/fudaa/tr/TestTrajectoire.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/test/org/fudaa/fudaa/tr/TestTrajectoire.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/test/org/fudaa/fudaa/tr/TestTrajectoire.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -0,0 +1,117 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.fudaa.tr; + +import gnu.trove.TDoubleArrayList; + +import java.io.File; +import java.util.Arrays; +import java.util.List; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.ctulu.CtuluUIDefault; +import org.fudaa.dodico.ef.operation.EfTrajectoireActivity; +import org.fudaa.dodico.ef.operation.EfTrajectoireParameters; +import org.fudaa.dodico.ef.operation.EfTrajectoireResultBuilder; +import org.fudaa.dodico.fichiers.FileFormatSoftware; +import org.fudaa.dodico.h2d.type.H2dVariableType; +import org.fudaa.fudaa.meshviewer.profile.MvProfileCoteTester; +import org.fudaa.fudaa.tr.post.TrPostSource; +import org.fudaa.fudaa.tr.post.TrPostSourceBuilder; +import org.fudaa.fudaa.tr.post.dialogSpec.TrPostTrajectoireTaskModel; + +import com.vividsolutions.jts.geom.Coordinate; + +/** + * @author deniger + */ +public class TestTrajectoire { + + public static void main(String[] args) { + if (args == null || args.length == 0) { + System.err.println("No file set"); + System.exit(1); + } + File f = new File(args[0]); + if (!f.exists()) { + System.err.println("File " + f + " not found"); + System.exit(1); + } + CtuluUIDefault ui = new CtuluUIDefault(); + TrPostSource src = TrPostSourceBuilder.activeSourceAction(f, ui, FileFormatSoftware.TELEMAC_IS.name, null, null); + if (src == null) { + System.err.println("Problem in reading file"); + System.exit(1); + } + double[] initTimeSteps = src.getTime().getInitTimeSteps(); + + EfTrajectoireParameters param = new EfTrajectoireParameters(); + param.vx = H2dVariableType.VITESSE_U; + param.vy = H2dVariableType.VITESSE_V; + param.dureeIntegration_ = -18000; + param.finesse_ = 1; + param.isLigneDeCourant = false; + param.firstTimeStepIdx_ = 71; + param.firstTimeStep_ = initTimeSteps[param.firstTimeStepIdx_]; + param.nbPointsInitiaux_ = 15; + Coordinate deb = new Coordinate(477286, 241715, 0); + Coordinate end = new Coordinate(477316, 241654, 0); + param.segment_ = Arrays.asList(deb, end); + param.points_ = TrPostTrajectoireTaskModel.getPointsFromSegment(deb, end, param.nbPointsInitiaux_); + + CtuluAnalyze analyze = new CtuluAnalyze(); + EfTrajectoireActivity act = new EfTrajectoireActivity(src, initTimeSteps); + act.setTester(new MvProfileCoteTester()); +// EfTrajectoireActivity act2 = new EfTrajectoireActivity(src, initTimeSteps); +// act2.setFast(true); +// act2.setTester(new MvProfileCoteTester()); + long t = System.nanoTime(); + List<EfTrajectoireResultBuilder> computeLigneCourant = act.computeLigneCourant(param, null, analyze); + System.err.println((System.nanoTime() - t) * 1E-9); + + t = System.nanoTime(); +// List<EfTrajectoireResultBuilder> computeLigneCourant2 = act2.computeLigneCourant(param, null, analyze); +// System.err.println("Fast "+(System.nanoTime() - t) * 1E-9); +// int n = computeLigneCourant.size(); +// for (int i = 0; i < n; i++) { +// System.err.println("comparaison du resultat " + i); +// EfTrajectoireResultBuilder efTrajectoireResultBuilder = computeLigneCourant.get(i); +// EfTrajectoireResultBuilder efTrajectoireResultBuilder2 = computeLigneCourant2.get(i); +// compareCoords(efTrajectoireResultBuilder.getCoords(), efTrajectoireResultBuilder2.getCoords()); +// compareTimes(efTrajectoireResultBuilder.getTimes(), efTrajectoireResultBuilder2.getTimes()); +// } + + analyze.printResume(); + + } + + private static void compareTimes(TDoubleArrayList times, TDoubleArrayList times2) { + if (times.size() == times2.size()) { + for (int i = 0; i < times.size(); i++) { + double c = times.get(i); + double c2 = times2.get(i); + if (Math.abs(c - c2) > 1E-3) { + System.err.println("temps pas egales pour i=" + i); + } + } + } else { + System.err.println("times non egale"); + } + } + + private static void compareCoords(List<Coordinate> coords, List<Coordinate> coords2) { + if (coords.size() == coords2.size()) { + for (int i = 0; i < coords.size(); i++) { + Coordinate c = coords.get(i); + Coordinate c2 = coords2.get(i); + if (c.distance(c2) > 1E-3) { + System.err.println("coordonn\xE9es pas egales pour i=" + i); + } + } + } else { + System.err.println("taille non egale"); + } + } +} Added: branches/Prepro-0.92-SNAPSHOT/fudaa/xyTest.txt =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/xyTest.txt (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/xyTest.txt 2009-03-21 18:29:25 UTC (rev 4558) @@ -0,0 +1,2 @@ +477286 241715 +477316 241654 \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/build.xml =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/build.xml 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/build.xml 2009-03-21 18:29:25 UTC (rev 4558) @@ -16,374 +16,298 @@ --> <project name="prepro" default="build" basedir="."> - <!--on importe les taches du fichier ant-deploy.xml--> - <import file="../ant-deploy.xml" /> - <property name="this.main.class" value="Tr" /> - <property name="this.help.jar.name" value="prepro-help.jar" /> - <property name="this.dir" location="./" /> - <property name="jnlp.file.name" value="prepro.jnlp" /> - <property name="mencoder.win.jar" value="mencoder/mencoder_win.jar" /> - <property name="jnlp.no3D.file.name" value="prepro-no3D.jnlp" /> - <property name="jnlp.file" location="${this.dir}/${jnlp.file.name}" /> - <property name="prop.file" location="${this.dir}/prepro.properties" /> - <property name="ssh.install.dir" value="/home/fudaa/www/install" /> - <property name="prepro.install.dir" value="${ssh.install.dir}/prepro" /> + <!--on importe les taches du fichier ant-deploy.xml--> + <import file="../ant-deploy.xml" /> + <property name="this.main.class" value="Tr" /> + <property name="this.help.jar.name" value="prepro-help.jar" /> + <property name="this.dir" location="./" /> + <property name="jnlp.file.name" value="prepro.jnlp" /> + <property name="mencoder.win.jar" value="mencoder/mencoder_win.jar" /> + <property name="jnlp.no3D.file.name" value="prepro-no3D.jnlp" /> + <property name="jnlp.file" location="${this.dir}/${jnlp.file.name}" /> + <property name="prop.file" location="${this.dir}/prepro.properties" /> + <property name="ssh.install.dir" value="/home/fudaa/www/install" /> + <property name="prepro.install.dir" value="${ssh.install.dir}/prepro" /> - <target name="prepro-init" depends=".testChemins"> - <property name="this.help.jar" - location="${projet.dir}/aide/src/prepro/build/${this.help.jar.name}" /> - <property file="${prop.file}" /> - <property name="zip.file" location="${this.build.dir}/Fudaa-Prepro_${@version.file@}.zip" /> - <condition property="docExist"> - <available file="${this.help.jar}" /> - </condition> - </target> + <target name="prepro-init" depends=".testChemins"> + <property name="this.help.jar" location="${projet.dir}/aide/src/prepro/build/${this.help.jar.name}" /> + <property file="${prop.file}" /> + <property name="zip.file" location="${this.build.dir}/Fudaa-Prepro_${@version.file@}.zip" /> + <condition property="docExist"> + <available file="${this.help.jar}" /> + </condition> + </target> - <target name="createDocJar" depends="prepro-init" unless="docExist"> - <ant antfile="${projet.dir}/aide/src/prepro/build.xml" target="build" /> - <ant antfile="${projet.dir}/aide/src/prepro/build.xml" target="jarDoc" /> - </target> + <target name="createDocJar" depends="prepro-init" unless="docExist"> + <ant antfile="${projet.dir}/aide/src/prepro/build.xml" target="build" /> + <ant antfile="${projet.dir}/aide/src/prepro/build.xml" target="jarDoc" /> + </target> - <!--Construction du zip de distribution. Il est a noter que le fichier jnlp utilis\xE9 est + <!--Construction du zip de distribution. Il est a noter que le fichier jnlp utilis\xE9 est un peu diff\xE9rent car il n'utilise pas Java3D: cela est g\xEAnant pour une utilisation hors-ligne car au d\xE9marrage javawebstart essaierait de t\xE9l\xE9charger java3D --> - <target name="buildZip" - depends="createDocJar,buildJnlp" - description="Construit le fichier zip contenant les jar et les scripts"> - <delete failonerror="false" file="${zip.file}" /> - <zip destfile="${zip.file}"> - <zipfileset file="${this.jar.file}" prefix="jars" /> - <zipfileset file="${this.help.jar}" prefix="jars" /> - <zipfileset file="${mencoder.win.jar}" prefix="jars" /> - <zipfileset file="${this.build.dir}/${jnlp.no3D.file.name}" fullpath="${jnlp.file.name}" /> - <zipfileset dir="../commun/" includes="lic*.txt" /> - <zipfileset dir="${this.dir}/maquette_zip/" /> - <zipfileset dir="${this.dir}/images/" excludes="*.xcf" prefix="images/" /> - <zipfileset dir="../etc/" includes="mesh.*,supervisor.*,post.*,editor.*" prefix="icones" /> - </zip> - <mkdir dir="${this.build.dir}/archive" /> - <copy file="${zip.file}" todir="${this.build.dir}/archive" /> - </target> + <target name="buildZip" depends="createDocJar,buildJnlp" description="Construit le fichier zip contenant les jar et les scripts"> + <delete failonerror="false" file="${zip.file}" /> + <zip destfile="${zip.file}"> + <zipfileset file="${this.jar.file}" prefix="jars" /> + <zipfileset file="${this.help.jar}" prefix="jars" /> + <zipfileset file="${mencoder.win.jar}" prefix="jars" /> + <zipfileset file="${this.build.dir}/${jnlp.no3D.file.name}" fullpath="${jnlp.file.name}" /> + <zipfileset dir="../commun/" includes="lic*.txt" /> + <zipfileset dir="${this.dir}/maquette_zip/" /> + <zipfileset dir="${this.dir}/images/" excludes="*.xcf" prefix="images/" /> + <zipfileset dir="../etc/" includes="mesh.*,supervisor.*,post.*,editor.*" prefix="icones" /> + </zip> + <mkdir dir="${this.build.dir}/archive" /> + <copy file="${zip.file}" todir="${this.build.dir}/archive" /> + </target> - <!--Construit les 2 fichiers jnlp \xE0 utiliser: un avec la 3D et l'autre sans. + <!--Construit les 2 fichiers jnlp \xE0 utiliser: un avec la 3D et l'autre sans. Le lien pour la 3D est r\xE9cup\xE9r\xE9 dans le fichier "java3D-link.txt"--> - <target name="buildJnlp" - depends="prepro-init" - description="Construit le contenu des fichiers jnlp"> - <loadfile property="link.3d" srcfile="java3D-link.txt" /> - <copy overwrite="true" file="${jnlp.file}" todir="${this.build.dir}" filtering="true"> - <filterset> - <filter token="version" value="v${@version@}" /> - <filter token="3D" value="${link.3d}" /> - </filterset> - </copy> - <!--ce fichier jnlp est utilis\xE9 pour le zip--> - <copy overwrite="true" - file="${jnlp.file}" - tofile="${this.build.dir}/${jnlp.no3D.file.name}" - filtering="true"> - <filterset> - <filter token="version" value=" v${@version@}n" /> - <filter token="3D" value="" /> - </filterset> - </copy> - </target> + <target name="buildJnlp" depends="prepro-init" description="Construit le contenu des fichiers jnlp"> + <loadfile property="link.3d" srcfile="java3D-link.txt" /> + <copy overwrite="true" file="${jnlp.file}" todir="${this.build.dir}" filtering="true"> + <filterset> + <filter token="version" value="v${@version@}" /> + <filter token="3D" value="${link.3d}" /> + </filterset> + </copy> + <!--ce fichier jnlp est utilis\xE9 pour le zip--> + <copy overwrite="true" file="${jnlp.file}" tofile="${this.build.dir}/${jnlp.no3D.file.name}" filtering="true"> + <filterset> + <filter token="version" value=" v${@version@}n" /> + <filter token="3D" value="" /> + </filterset> + </copy> + </target> - <target name="deployAndSend" - depends="deploy,sendToFudaaFr" - description="Construit les jars et met a jour les sites distants"> - </target> + <target name="deployAndSend" depends="deploy,sendToFudaaFr" description="Construit les jars et met a jour les sites distants"> + </target> - <!--Envoie l'aide sur le site: effectu\xE9e que si la doc est mise \xE0 jour--> - <target name="sendHelpToFudaaFr" - depends="setProxy,buildZip" - description="Met a jour l'aide sur le site distant. + <!--Envoie l'aide sur le site: effectu\xE9e que si la doc est mise \xE0 jour--> + <target name="sendHelpToFudaaFr" depends="setProxy,buildZip" description="Met a jour l'aide sur le site distant. Le zip est reconstruit afin qu'il contienne la nouvelle doc. A utiliser que lorsque la doc est mise \xE0 jour."> - <scp file="${this.help.jar}" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" - trust="true" /> - </target> - <!--Envoie l'aide sur le site: effectu\xE9e que si la doc est mise \xE0 jour--> - <target name="sendMencoderFudaaFr" - depends="setProxy" - description="Met a jour mencoder pour windows sur le site distant."> - <scp file="${mencoder.win.jar}" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" - trust="true" /> - </target> + <scp file="${this.help.jar}" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" trust="true" /> + </target> + <!--Envoie l'aide sur le site: effectu\xE9e que si la doc est mise \xE0 jour--> + <target name="sendMencoderFudaaFr" depends="setProxy" description="Met a jour mencoder pour windows sur le site distant."> + <scp file="${mencoder.win.jar}" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" trust="true" /> + </target> - <target name="deploy" - depends="rebuild" - description="efface les classes, recompile le tout,cree et signe le jar. + <target name="deploy" depends="rebuild" description="efface les classes, recompile le tout,cree et signe le jar. Les fichiers Jnlp sont \xE9galament cr\xE9\xE9s"> - <antcall target="createJar" /> - <antcall target="signJar" /> - <!--Le build Zip reconstruit deja les fichiers jnlp --> - <antcall target="buildZip" /> - </target> + <antcall target="createJar" /> + <antcall target="signJar" /> + <!--Le build Zip reconstruit deja les fichiers jnlp --> + <antcall target="buildZip" /> + </target> - <!--Envoie Tout ce qui est necessaire sauf l'aide:car elle ne bouge pas beaucoup! --> - <target name="sendToFudaaFr" - depends="setProxy,prepro-init" - description="Met a jour les sites distants ( sauf le jar d'aide)"> - <scp file="${this.build.dir}/${jnlp.file.name}" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}" - trust="true" /> - <scp todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/images" - trust="true"> - <fileset dir="${basedir}/images" excludes="*.xcf" /> - </scp> + <!--Envoie Tout ce qui est necessaire sauf l'aide:car elle ne bouge pas beaucoup! --> + <target name="sendToFudaaFr" depends="setProxy,prepro-init" description="Met a jour les sites distants ( sauf le jar d'aide)"> + <scp file="${this.build.dir}/${jnlp.file.name}" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}" trust="true" /> + <scp todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/images" trust="true"> + <fileset dir="${basedir}/images" excludes="*.xcf" /> + </scp> - <!--Pour que le tout marche il faut que le jar et le jar.pack.gz soient dans un dossier inf\xE9rieur--> - <scp file="${this.jar.file}.pack.gz" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars/last" - trust="true" /> - <scp file="${this.jar.file}" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars/last" - trust="true" /> + <!--Pour que le tout marche il faut que le jar et le jar.pack.gz soient dans un dossier inf\xE9rieur--> + <scp file="${this.jar.file}.pack.gz" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars/last" trust="true" /> + <scp file="${this.jar.file}" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars/last" trust="true" /> - <scp file="${basedir}/jars/fudaa-prepro.jar.var" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" - trust="true" /> - <scp file="${basedir}/jars/.htaccess" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" - trust="true" /> - <!--On efface les pr\xE9c\xE9dents zip--> - <sshexec host="${ssh.host}" - password="${ssh.password}" - username="${ssh.username}" - trust="true" - command="rm -vf ${prepro.install.dir}/Fudaa-Prepro*.zip" /> + <scp file="${basedir}/jars/fudaa-prepro.jar.var" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" trust="true" /> + <scp file="${basedir}/jars/.htaccess" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" trust="true" /> + <!--On efface les pr\xE9c\xE9dents zip--> + <sshexec host="${ssh.host}" password="${ssh.password}" username="${ssh.username}" trust="true" command="rm -vf ${prepro.install.dir}/Fudaa-Prepro*.zip" /> - <scp file="${zip.file}" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}" - trust="true" /> - <ant antfile="${projet.dir}/aide/src/prepro/build.xml" - target="updateDistWeb" - inheritall="false" /> - </target> + <scp file="${zip.file}" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}" trust="true" /> + <ant antfile="${projet.dir}/aide/src/prepro/build.xml" target="updateDistWeb" inheritall="false" /> + </target> - <target name="createJar" depends=".testCheminGenJar" description="cree fudaa_tr.jar"> - <!--On prepare le dossier de destination et on efface les anciens jars pour \xE9viter les conflits: + <target name="createJar" depends=".testCheminGenJar" description="cree fudaa_tr.jar"> + <!--On prepare le dossier de destination et on efface les anciens jars pour \xE9viter les conflits: des fois la tache genjar essaie de mettre \xE0 jour le jar ce qui prend du temps et peut \xEAtre source d'erreur subtile--> - <mkdir dir="${this.jar.dir}" /> - <delete file="${this.jar.file}" /> - <genjar jarfile="${this.jar.file}"> - <classpath path="${fudaaDist.classpath}" /> - <manifest generateEntryAttributes="no"> - <attribute name="Main-Class" value="org.fudaa.fudaa.tr.Tr" /> - <!--Pour le jar d'aide--> - <attribute name="Class-Path" value="${this.help.jar.name}" /> - </manifest> - <class name="org.fudaa.fudaa.tr.Tr" /> - <class name="org.fudaa.fudaa.tr.TrEditor" /> - <class name="org.fudaa.fudaa.tr.TrMesh" /> - <class name="org.fudaa.fudaa.tr.TrPost" /> - <class name="org.fudaa.fudaa.tr.TrSupervisor" /> - <!--Cette classe GrData est ajout\xE9e \xE0 cause d'un bogue avec db4o qui ne retrouvait pas ces petits--> - <class name="org.fudaa.ebli.geometrie.GrData" /> - <!--Pour ces librairies, tous les fichiers et toutes les ressources sont n\xE9cessaires--> - <library jar="${ctulu.lib.dir}/db4o.jar" /> - <library jar="${ctulu.lib.dir}/xstream-1.3.jar" /> - <library jar="${ctulu.lib.dir}/xpp3_min-1.1.4c.jar" /> - <library jar="${ctulu.lib.dir}/fgis.jar" /> - <library jar="${ctulu.lib.dir}/looks.jar" /> - <library jar="${ctulu.lib.dir}/jep.jar" /> - <library jar="${ctulu.lib.dir}/commons-logging-1.1.jar" /> - <!--Classes appel\xE9es par reflexion--> - <class> - <fileset dir="${fudaa.dist.classes.dir}"> - <include name="org/fudaa/dodico/telemac/dico/*.class" /> - </fileset> - </class> - <!--Pas de CORBA pour Fudaa-Prepro--> - <classfilter> - <exclude name="org.fudaa.dodico.corba." /> - <exclude name="org.fudaa.dodico.usine." /> - </classfilter> - <!--Les ressources utilis\xE9es--> - <!--On utilise pas les icones de bu mais ceux de crystal, d'ou les excludes--> - <resource> - <fileset dir="${fudaa.dist.classes.dir}"> - <patternset refid="ressources.fic" /> - <include name="org/fudaa/dodico/commun/" /> - <include name="org/fudaa/ctulu/" /> - <include name="com/memoire/bu/" /> - <include name="com/hexidec/ekit/" /> - <include name="com/memoire/dja/" /> - <exclude name="com/memoire/dja/*_24.*" /> - <exclude name="com/memoire/dja/logo*.*" /> - <exclude name="com/memoire/dja/banner*.*" /> - <exclude name="com/memoire/bu/alma_*" /> - <exclude name="com/memoire/bu/*_16.*" /> - <exclude name="com/memoire/bu/*_20.*" /> - <exclude name="com/memoire/bu/*_22.*" /> - <exclude name="com/memoire/bu/*_24.*" /> - <exclude name="com/memoire/bu/*_26.*" /> - <exclude name="com/memoire/bu/*_32.*" /> - <exclude name="com/memoire/bu/*_48.*" /> - <exclude name="com/memoire/bu/*_64.*" /> - <exclude name="com/memoire/bu/crystal22_*" /> - <include name="com/memoire/dnd/" /> - <include name="com/memoire/bu/crystal*" /> - <include name="org/fudaa/dodico/h2d/" /> - <include name="org/fudaa/dodico/reflux/" /> - <include name="org/fudaa/ebli/ressource/" /> - <exclude name="org/fudaa/ebli/ressource/volume" /> - <exclude name="org/fudaa/ebli/ressource/echellez*" /> - <exclude name="org/fudaa/ebli/ressource/lumiere*" /> - <exclude name="org/fudaa/ebli/ressource/texture*" /> - <include name="org/fudaa/fudaa/ressource/" /> - <exclude name="org/fudaa/fudaa/ressource/connecter*" /> - <exclude name="org/fudaa/fudaa/ressource/astuces/" /> - <include name="org/fudaa/fudaa/sig/" /> - <include name="org/fudaa/fudaa/tr/" /> - <include name="org/fudaa/fudaa/tr/common/" /> - <include name="org/fudaa/fudaa/fdico/" /> - <include name="org/fudaa/fudaa/meshviewer/" /> - <include name="ghm/followgui/" /> - </fileset> - </resource> - </genjar> - <!--Important car utilis\xE9 par geotools pour ces factories--> - <zip destfile="${this.jar.file}" update="true" compress="true"> - <zipgroupfileset file="${ctulu.lib.dir}/fgis.jar" - includes="META-INF/services/**,META-INF/registry*" /> - </zip> - </target> + <mkdir dir="${this.jar.dir}" /> + <delete file="${this.jar.file}" /> + <genjar jarfile="${this.jar.file}"> + <classpath path="${fudaaDist.classpath}" /> + <manifest generateEntryAttributes="no"> + <attribute name="Main-Class" value="org.fudaa.fudaa.tr.Tr" /> + <!--Pour le jar d'aide--> + <attribute name="Class-Path" value="${this.help.jar.name}" /> + </manifest> + <class name="org.fudaa.fudaa.tr.Tr" /> + <class name="org.fudaa.fudaa.tr.TrEditor" /> + <class name="org.fudaa.fudaa.tr.TrMesh" /> + <class name="org.fudaa.fudaa.tr.TrPost" /> + <class name="org.fudaa.fudaa.tr.TrSupervisor" /> + <!--Cette classe GrData est ajout\xE9e \xE0 cause d'un bogue avec db4o qui ne retrouvait pas ces petits--> + <class name="org.fudaa.ebli.geometrie.GrData" /> + <!--Pour ces librairies, tous les fichiers et toutes les ressources sont n\xE9cessaires--> + <library jar="${ctulu.lib.dir}/db4o.jar" /> + <library jar="${ctulu.lib.dir}/xstream-1.3.jar" /> + <library jar="${ctulu.lib.dir}/xpp3_min-1.1.4c.jar" /> + <library jar="${ctulu.lib.dir}/PDFRenderer.jar" /> + <library jar="${ctulu.lib.dir}/fgis.jar" /> + <library jar="${ctulu.lib.dir}/looks.jar" /> + <library jar="${ctulu.lib.dir}/jep.jar" /> + <library jar="${ctulu.lib.dir}/commons-logging-1.1.jar" /> + <!--Classes appel\xE9es par reflexion--> + <class> + <fileset dir="${fudaa.dist.classes.dir}"> + <include name="org/fudaa/dodico/telemac/dico/*.class" /> + </fileset> + </class> + <!--Pas de CORBA pour Fudaa-Prepro--> + <classfilter> + <exclude name="org.fudaa.dodico.corba." /> + <exclude name="org.fudaa.dodico.usine." /> + <exclude name="org.bouncycastle." /> + </classfilter> + <!--Les ressources utilis\xE9es--> + <!--On utilise pas les icones de bu mais ceux de crystal, d'ou les excludes--> + <resource> + <fileset dir="${fudaa.dist.classes.dir}"> + <patternset refid="ressources.fic" /> + <include name="org/fudaa/dodico/commun/" /> + <include name="org/fudaa/ctulu/" /> + <include name="com/memoire/bu/" /> + <include name="com/hexidec/ekit/" /> + <include name="com/memoire/dja/" /> + <exclude name="com/memoire/dja/*_24.*" /> + <exclude name="com/memoire/dja/logo*.*" /> + <exclude name="com/memoire/dja/banner*.*" /> + <exclude name="com/memoire/bu/alma_*" /> + <exclude name="com/memoire/bu/*_16.*" /> + <exclude name="com/memoire/bu/*_20.*" /> + <exclude name="com/memoire/bu/*_22.*" /> + <exclude name="com/memoire/bu/*_24.*" /> + <exclude name="com/memoire/bu/*_26.*" /> + <exclude name="com/memoire/bu/*_32.*" /> + <exclude name="com/memoire/bu/*_48.*" /> + <exclude name="com/memoire/bu/*_64.*" /> + <exclude name="com/memoire/bu/crystal22_*" /> + <include name="com/memoire/dnd/" /> + <include name="com/memoire/bu/crystal*" /> + <include name="org/fudaa/dodico/h2d/" /> + <include name="org/fudaa/dodico/reflux/" /> + <include name="org/fudaa/ebli/ressource/" /> + <exclude name="org/fudaa/ebli/ressource/volume" /> + <exclude name="org/fudaa/ebli/ressource/echellez*" /> + <exclude name="org/fudaa/ebli/ressource/lumiere*" /> + <exclude name="org/fudaa/ebli/ressource/texture*" /> + <include name="org/fudaa/fudaa/ressource/" /> + <exclude name="org/fudaa/fudaa/ressource/connecter*" /> + <exclude name="org/fudaa/fudaa/ressource/astuces/" /> + <include name="org/fudaa/fudaa/sig/" /> + <include name="org/fudaa/fudaa/tr/" /> + <include name="org/fudaa/fudaa/tr/common/" /> + <include name="org/fudaa/fudaa/fdico/" /> + <include name="org/fudaa/fudaa/meshviewer/" /> + <include name="ghm/followgui/" /> + </fileset> + </resource> + </genjar> + <!--Important car utilis\xE9 par geotools pour ces factories--> + <zip destfile="${this.jar.file}" update="true" compress="true"> + <zipgroupfileset file="${ctulu.lib.dir}/fgis.jar" includes="META-INF/services/**,META-INF/registry*" /> + </zip> + </target> - <target name="signMencoder" depends=".testChemins"> - <property name="jarsigner" location="${java.home}/../bin/jarsigner"> - </property> - <property file="${cert.dir}/fudaa-jar.txt" /> - <signjar jar="${mencoder.win.jar}" - alias="${fudaa.alias}" - storepass="${fudaa.password}" - keystore="${cert.dir}/fudaa.keystore" /> - </target> + <target name="signMencoder" depends=".testChemins"> + <property name="jarsigner" location="${java.home}/../bin/jarsigner"> + </property> + <property file="${cert.dir}/fudaa-jar.txt" /> + <signjar jar="${mencoder.win.jar}" alias="${fudaa.alias}" storepass="${fudaa.password}" keystore="${cert.dir}/fudaa.keystore" /> + </target> - <!--Signe les jars cr\xE9es. Il faut utilise le sdk 1.5 pour cette tache a cause + <!--Signe les jars cr\xE9es. Il faut utilise le sdk 1.5 pour cette tache a cause de l'exe pack--> - <target name="signJar" depends=".testChemins"> - <property name="jarsigner" location="${java.home}/../bin/jarsigner"> - </property> - <property file="${cert.dir}/fudaa-jar.txt" /> - <signjar jar="${this.jar.file}" - alias="${fudaa.alias}" - storepass="${fudaa.password}" - keystore="${cert.dir}/fudaa.keystore" /> - <echo>RePack200 ${this.jar.name}</echo> - <exec newenvironment="true" - dir="${this.jar.dir}" - executable="${java.home}/bin/pack200" - failonerror="true" - vmlauncher="false"> - <arg line="--repack ${this.jar.name}" /> - </exec> - <echo>RePack200 ${this.jar.name} END</echo> - <signjar jar="${this.jar.file}" - alias="${fudaa.alias}" - storepass="${fudaa.password}" - keystore="${cert.dir}/fudaa.keystore" /> - <!--Je ne sais pas pourquoi il faut le faire 2 fois + <target name="signJar" depends=".testChemins"> + <property name="jarsigner" location="${java.home}/../bin/jarsigner"> + </property> + <property file="${cert.dir}/fudaa-jar.txt" /> + <signjar jar="${this.jar.file}" alias="${fudaa.alias}" storepass="${fudaa.password}" keystore="${cert.dir}/fudaa.keystore" /> + <echo>RePack200 ${this.jar.name}</echo> + <exec newenvironment="true" dir="${this.jar.dir}" executable="${java.home}/bin/pack200" failonerror="true" vmlauncher="false"> + <arg line="--repack ${this.jar.name}" /> + </exec> + <echo>RePack200 ${this.jar.name} END</echo> + <signjar jar="${this.jar.file}" alias="${fudaa.alias}" storepass="${fudaa.password}" keystore="${cert.dir}/fudaa.keystore" /> + <!--Je ne sais pas pourquoi il faut le faire 2 fois il semble qu'il y ait un bug dans les exe java --> - <!--A retester avec les nouvelles versions de Java--> - <echo>RePack200 ${this.jar.name} ENCORE ...</echo> - <exec newenvironment="true" - dir="${this.jar.dir}" - executable="${java.home}/bin/pack200" - failonerror="true" - vmlauncher="false"> - <arg line="--repack ${this.jar.name}" /> - </exec> - <echo>RePack200 ${this.jar.name} ENCORE END</echo> - <signjar jar="${this.jar.file}" - alias="${fudaa.alias}" - storepass="${fudaa.password}" - keystore="${cert.dir}/fudaa.keystore" /> - <echo>Test ${this.jar.name}</echo> - <exec dir="${this.jar.dir}" - executable="${jarsigner}" - newenvironment="true" - failonerror="true" - vmlauncher="false"> - <arg line="-verify ${this.jar.name}" /> - </exec> - <echo>Test ${this.jar.name} END</echo> - <delete file="${this.jar.dir}/${this.jar.name}.pack.gz" /> - <echo>Pack200 ${this.jar.name}</echo> - <exec newenvironment="true" - dir="${this.jar.dir}" - executable="${java.home}/bin/pack200" - failonerror="true" - vmlauncher="false"> - <arg line="${this.jar.name}.pack.gz ${this.jar.name}" /> - </exec> - <echo>Pack200 ${this.jar.name} END</echo> - <!--On teste la signature pour \xE9viter de balancer n'importe quoi sur le site--> - <echo>Test ${this.jar.name}.pack.gz</echo> - <exec newenvironment="true" - dir="${this.jar.dir}" - executable="${java.home}/bin/unpack200" - failonerror="true" - vmlauncher="false"> - <arg line="${this.jar.name}.pack.gz ${this.jar.name}.pack.gz.jar" /> - </exec> - <exec dir="${this.jar.dir}" - executable="${jarsigner}" - newenvironment="true" - failonerror="true" - vmlauncher="false"> - <arg line="-verify ${this.jar.name}.pack.gz.jar" /> - </exec> - <delete file="${this.jar.dir}/${this.jar.name}.pack.gz.jar" /> - <echo>Test ${this.jar.name}.pack.gz END</echo> - </target> + <!--A retester avec les nouvelles versions de Java--> + <echo>RePack200 ${this.jar.name} ENCORE ...</echo> + <exec newenvironment="true" dir="${this.jar.dir}" executable="${java.home}/bin/pack200" failonerror="true" vmlauncher="false"> + <arg line="--repack ${this.jar.name}" /> + </exec> + <echo>RePack200 ${this.jar.name} ENCORE END</echo> + <signjar jar="${this.jar.file}" alias="${fudaa.alias}" storepass="${fudaa.password}" keystore="${cert.dir}/fudaa.keystore" /> + <echo>Test ${this.jar.name}</echo> + <exec dir="${this.jar.dir}" executable="${jarsigner}" newenvironment="true" failonerror="true" vmlauncher="false"> + <arg line="-verify ${this.jar.name}" /> + </exec> + <echo>Test ${this.jar.name} END</echo> + <delete file="${this.jar.dir}/${this.jar.name}.pack.gz" /> + <echo>Pack200 ${this.jar.name}</echo> + <exec newenvironment="true" dir="${this.jar.dir}" executable="${java.home}/bin/pack200" failonerror="true" vmlauncher="false"> + <arg line="${this.jar.name}.pack.gz ${this.jar.name}" /> + </exec> + <echo>Pack200 ${this.jar.name} END</echo> + <!--On teste la signature pour \xE9viter de balancer n'importe quoi sur le site--> + <echo>Test ${this.jar.name}.pack.gz</echo> + <exec newenvironment="true" dir="${this.jar.dir}" executable="${java.home}/bin/unpack200" failonerror="true" vmlauncher="false"> + <arg line="${this.jar.name}.pack.gz ${this.jar.name}.pack.gz.jar" /> + </exec> + <exec dir="${this.jar.dir}" executable="${jarsigner}" newenvironment="true" failonerror="true" vmlauncher="false"> + <arg line="-verify ${this.jar.name}.pack.gz.jar" /> + </exec> + <delete file="${this.jar.dir}/${this.jar.name}.pack.gz.jar" /> + <echo>Test ${this.jar.name}.pack.gz END</echo> + </target> - <!--Ce jar est propos\xE9 en l'\xE9tat pour le LNHE: il permet d'\xE9diter n'importe quel fichier cas en pr\xE9cisant + <!--Ce jar est propos\xE9 en l'\xE9tat pour le LNHE: il permet d'\xE9diter n'importe quel fichier cas en pr\xE9cisant un fichier dico --> - <target name="jar_fdico" depends=".testCheminGenJar" description="cree fudaa_dico.jar"> - <property name="fdico.jar.file" value="${this.jar.dir}/fudaa_dico.jar" /> - <echo> + <target name="jar_fdico" depends=".testCheminGenJar" description="cree fudaa_dico.jar"> + <property name="fdico.jar.file" value="${this.jar.dir}/fudaa_dico.jar" /> + <echo> ---FUDAA: creation du jar ${this.jar.file} a partir de ${fudaaDist.classpath} </echo> - <mkdir dir="${this.jar.dir}" /> - <delete file="${fdico.jar.file}" /> - <genjar jarfile="${fdico.jar.file}"> - <classpath path="${fudaaDist.classpath}" /> - <manifest> - <attribute name="Main-Class" value="org.fudaa.fudaa.fdico.FDico" /> - </manifest> - <class name="org.fudaa.fudaa.fdico.FDico" /> - <classfilter> - <exclude name="org.fudaa.dodico.corba." /> - <exclude name="org.fudaa.dodico.usine." /> - </classfilter> - <resource> - <fileset dir="${fudaa.dist.classes.dir}"> - <patternset refid="ressources.fic" /> - <include name="org/fudaa/dodico/commun/" /> - <include name="com/memoire/dnd/" /> - <include name="com/memoire/bu/" /> - <include name="org/fudaa/ebli/ressource/" /> - <include name="org/fudaa/fudaa/ressource/" /> - <include name="org/fudaa/fudaa/dico/" /> - <include name="ghm/followgui/" /> - </fileset> - </resource> - </genjar> - </target> + <mkdir dir="${this.jar.dir}" /> + <delete file="${fdico.jar.file}" /> + <genjar jarfile="${fdico.jar.file}"> + <classpath path="${fudaaDist.classpath}" /> + <manifest> + <attribute name="Main-Class" value="org.fudaa.fudaa.fdico.FDico" /> + </manifest> + <class name="org.fudaa.fudaa.fdico.FDico" /> + <classfilter> + <exclude name="org.fudaa.dodico.corba." /> + <exclude name="org.fudaa.dodico.usine." /> + </classfilter> + <resource> + <fileset dir="${fudaa.dist.classes.dir}"> + <patternset refid="ressources.fic" /> + <include name="org/fudaa/dodico/commun/" /> + <include name="com/memoire/dnd/" /> + <include name="com/memoire/bu/" /> + <include name="org/fudaa/ebli/ressource/" /> + <include name="org/fudaa/fudaa/ressource/" /> + <include name="org/fudaa/fudaa/dico/" /> + <include name="ghm/followgui/" /> + </fileset> + </resource> + </genjar> + </target> </project> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2009-03-19 17:42:06
|
Revision: 4557 http://fudaa.svn.sourceforge.net/fudaa/?rev=4557&view=rev Author: hadouxad Date: 2009-03-19 17:41:51 +0000 (Thu, 19 Mar 2009) Log Message: ----------- - Correction: rejouer les donnees en conservant les constructions g?\195?\169om?\195?\169triques; test blindes et gestion d'erreurs pour les variables non trouv?\195?\169es entre fichier. Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphePersist.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeTreeModel.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphePersist.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphePersist.java 2009-03-18 19:57:31 UTC (rev 4556) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphePersist.java 2009-03-19 17:41:51 UTC (rev 4557) @@ -299,8 +299,12 @@ graphe=new EGGraphe(model); graphe.transformer_.setXAxe(axeX); //ajustement des courbes en fonction du groupe 0 - for(int t=0;t<nbGroups;t++) - graphe.setZoomAdaptedFor(model.getGroup(t)); + for(int t=0;t<nbGroups;t++){ + EGGroup group=model.getGroup(t); + if(group!=null) + graphe.setZoomAdaptedFor(group); + + } //mise a jour des b\xE9b\xE9s model.fireStructureChanged(); } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java 2009-03-18 19:57:31 UTC (rev 4556) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java 2009-03-19 17:41:51 UTC (rev 4557) @@ -225,7 +225,10 @@ } public EGGroup getGroup(final int _i) { - return (EGGroup) components_.get(_i); + if(components_.size()>_i) + return (EGGroup) components_.get(_i); + else + return null; } protected void setDispatcher(final EGParent.Tree _dispatcher) { Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeTreeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeTreeModel.java 2009-03-18 19:57:31 UTC (rev 4556) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeTreeModel.java 2009-03-19 17:41:51 UTC (rev 4557) @@ -1145,6 +1145,7 @@ EGCourbeChild courbe=groupe.getCourbeAt(k); if(courbe.getModel()!=null && (courbe.getModel() instanceof TrPostCourbeModel)){ TrPostCourbeModel model=(TrPostCourbeModel) courbe.getModel(); + if(model.var_!=null) varGroup_.put(model.var_, groupe); }else if(courbe.getModel()!=null ){ varGroup_.put(H2dVariableType.SANS, groupe); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2009-03-18 19:57:42
|
Revision: 4556 http://fudaa.svn.sourceforge.net/fudaa/?rev=4556&view=rev Author: hadouxad Date: 2009-03-18 19:57:31 +0000 (Wed, 18 Mar 2009) Log Message: ----------- - Gestion fichier ETU - Mise en place de l'interface pour les livraions unitaires hebdomadaires Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modifications-Obligatoires.txt branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Questions-ModelisationDonnees.txt branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10reader.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryETU.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoParsing.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDCSP.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDFRT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDPTG.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDPTI.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDRSO.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistETU.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistOPTG.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDRSO.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatETU.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/ValidatorXml.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/valideETU.xsd branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleEnchainement.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHProjectInfos.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/AppCrueTest.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDCSPFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDFRTFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDPTGFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDPTIFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDRSOFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueOPTGFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/testXsd.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/EtudeStructuresCorrigees.etu.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHInfosVersion.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleRun.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHRun.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/MainTest.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueETU.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueImplementation.java Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/EtudeStructuresCorrigees.etu.xml =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/EtudeStructuresCorrigees.etu.xml (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/EtudeStructuresCorrigees.etu.xml 2009-03-18 19:57:31 UTC (rev 4556) @@ -0,0 +1,204 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ETU> + <!-- Le fichier ETU rassemble les données d'une étude hydraulique. Son périmètre est l'ensemble des scénarios de l'étude --> + <!-- Révision 0 le 06/02/2009 par PBa: écriture du fichier à la main pour clarifier les idées, mais susceptible de grandes évolutions --> + <Commentaire>Commentaire ou description de l'étude</Commentaire> + <Creation>Balayn_P</Creation> + <!-- Récupération du login de session, si possible --> + <DateCreation>20090122</DateCreation> + <AuteurDerniereModif>Balayn_P</AuteurDerniereModif> + <DateDerniereModif>20090122</DateDerniereModif> + <ScenarioCourant NomRef="SCMod3" /> + + <Repertoires> + <Repertoire Nom="FICHETUDES"> + <path> C:\DATA\Crue\Modele3\</path> + </Repertoire> + <Repertoire Nom="RUNS"> + <path>C:\DATA\Crue\Modele3\Resultats\</path> + </Repertoire> + <Repertoire Nom="RAPPORTS"> + <path>C:\DATA\Crue\Modele3\Rapports\</path> + </Repertoire> + </Repertoires> + <FichEtudes> + <Fichier Nom="SCMod3.ocal.xml" Chemin=".\" Type="OCAL"/> + <!-- Identidfiant unique dans tout l'espace étude, donc deux fichiers ne peuvent pas porter le même nom --> + <Fichier Nom="SCMod3.ores.xml" Chemin=".\" Type="ORES"/> + <Fichier Nom="SCMod3.pcal.xml" Chemin=".\" Type="PCAL"/> + <Fichier Nom="Modele3.dclm.xml" Chemin=".\" Type="DCLM"/> + <Fichier Nom="SCMod3.dlhy.xml" Chemin=".\" Type="DLHY"/> + <Fichier Nom="MOModele3.optr.xml" Chemin=".\" Type="OPTR"/> + <Fichier Nom="MOModele3.optg.xml" Chemin=".\" Type="OPTG"/> + <Fichier Nom="MOModele3.opti.xml" Chemin=".\" Type="OPTI"/> + <Fichier Nom="MOModele3.pnum.xml" Chemin=".\" Type="PNUM"/> + <Fichier Nom="MOModele3.dpti.xml" Chemin=".\" Type="DPTI"/> + <Fichier Nom="SModele3.drso.xml" Chemin=".\" Type="DRSO"/> + <Fichier Nom="SModele3.dcsp.xml" Chemin=".\" Type="DCSP"/> + <Fichier Nom="SModele3.dptg.xml" Chemin=".\" Type="DPTG"/> + <Fichier Nom="SModele3.dfrt.xml" Chemin=".\" Type="DFRT"/> + <Fichier Nom="SMMOModele3.drso.xml" Chemin=".\" Type="DRSO"/> + <Fichier Nom="SMMOModele3.dcsp.xml" Chemin=".\" Type="DCSP"/> + <Fichier Nom="SMMOModele3.dptg.xml" Chemin=".\" Type="DPTG"/> + <Fichier Nom="SMMOModele3.dfrt.xml" Chemin=".\" Type="DFRT"/> + <Fichier Nom="MO-2.drso.xml" Chemin=".\" Type="DRSO"/> + <Fichier Nom="MO-2.dcsp.xml" Chemin=".\" Type="DCSP"/> + <Fichier Nom="MO-2.dptg.xml" Chemin=".\" Type="DPTG"/> + <Fichier Nom="MO-2.dfrt.xml" Chemin=".\" Type="DFRT"/> + <Fichier Nom="Modele3.dc" Chemin=".\" Type="DC"/> + <Fichier Nom="Modele3.dh" Chemin=".\" Type="DH"/> + </FichEtudes> + <SousModeles> + <SousModele Nom="SModele3"> + <!-- Un nom de sous-modèle commence toujours par "SM"; si tel n'est pas le cas, la chaîne est préfixée pour ce faire--> + <Type>Crue10</Type> + <Commentaire>Commentaire du sous-modèle SModele3</Commentaire> + <Creation>Balayn_P</Creation> + <DateCreation>20090122</DateCreation> + <DerniereModif>Balayn_P</DerniereModif> + <DateDerniereModif>20090122</DateDerniereModif> + <FichEtudes> + <Fichier-ref NomRef="SModele3.drso.xml" /> + <Fichier-ref NomRef="SModele3.dcsp.xml" /> + <Fichier-ref NomRef="SModele3.dptg.xml" /> + <Fichier-ref NomRef="SModele3.dfrt.xml" /> + </FichEtudes> + </SousModele> + <SousModele Nom="SMMOModele3"> + <Type>Crue10</Type> + <Commentaire>Commentaire du sous-modèle SMMOModele3</Commentaire> + <Creation>Balayn_P</Creation> + <DateCreation>20090122</DateCreation> + <DerniereModif>Balayn_P</DerniereModif> + <DateDerniereModif>20090122</DateDerniereModif> + <FichEtudes> + <Fichier-ref NomRef="SMMOModele3.drso.xml" /> + <Fichier-ref NomRef="SMMOModele3.dcsp.xml" /> + <Fichier-ref NomRef="SMMOModele3.dptg.xml" /> + <Fichier-ref NomRef="SMMOModele3.dfrt.xml" /> + </FichEtudes> + </SousModele> + <SousModele Nom="SMO-2"> + <Type>Crue10</Type> + <Commentaire>SM2</Commentaire> + <Creation>Balayn_P</Creation> + <DateCreation>20090123</DateCreation> + <DerniereModif>Balayn_P</DerniereModif> + <DateDerniereModif>20090124</DateDerniereModif> + <FichEtudes> + <Fichier-ref NomRef="MO-2.drso.xml" /> + <Fichier-ref NomRef="MO-2.dcsp.xml" /> + <Fichier-ref NomRef="MO-2.dptg.xml" /> + <Fichier-ref NomRef="MO-2.dfrt.xml" /> + </FichEtudes> + </SousModele> + </SousModeles> + <Modeles> + <Modele Nom="MOC9"> + <!-- Un nom de modèle commence toujours par "MO"; si tel n'est pas le cas, la chaîne est préfixée pour ce faire--> + <Type>Crue9</Type> + <Commentaire>Commentaire ou description du modèle</Commentaire> + <!-- Commentaires en HTML ? --> + <Creation>Balayn_P</Creation> + <DerniereModif>Balayn_P</DerniereModif> + <DateCreation>20090122</DateCreation> + <FichEtudes> + <Fichier-ref NomRef="Modele3.dc" /> + <Fichier-ref NomRef="Modele3.dh" /> + </FichEtudes> + </Modele> + <Modele Nom="MOModele3"> + <Type>Crue10</Type> + <Commentaire>Commentaire ou description du modèle</Commentaire> + <Creation>Balayn_P</Creation> + <DerniereModif>Balayn_P</DerniereModif> + <DateCreation>20090122</DateCreation> + <FichEtudes> + <Fichier-ref NomRef="MOModele3.optr.xml" /> + <Fichier-ref NomRef="MOModele3.optg.xml" /> + <Fichier-ref NomRef="MOModele3.opti.xml" /> + <Fichier-ref NomRef="MOModele3.pnum.xml" /> + <Fichier-ref NomRef="MOModele3.dpti.xml" /> + </FichEtudes> + <SousModeles> + <SousModele-ref NomRef="SModele3" /> + <SousModele-ref NomRef="SMMOModele3" /> + </SousModeles> + </Modele> + </Modeles> + <Rapports></Rapports> + <Scenarios> + <Scenario Nom="SCC9"> + <!-- Un nom de scénario commence toujours par "SC"; si tel n'est pas le cas, la chaîne est préfixée pour ce faire--> + <Type>Crue9</Type> + <!-- Pas de prise en compte de scénario enchaîné avec Crue9, du moins dans les premières versions --> + <VersionCrue>0.0</VersionCrue> + <!-- Version du moteur Crue minimale requise: nécessaire pour Crue9 ? --> + <Commentaire>Ceci est un commentaire ou une description du scénario</Commentaire> + <Creation>Balayn_P</Creation> + <DerniereModif>Balayn_P</DerniereModif> + <DateCreation>20090122</DateCreation> + <Modeles> + <Modele-ref NomRef="MOC9"/> + </Modeles> + </Scenario> + <Scenario Nom="SCMod3"> + <Type>Crue10</Type> + <VersionCrue>0.0</VersionCrue> + <!-- Version du moteur Crue10 minimale requise --> + <Commentaire>Ceci est un commentaire ou une description du scénario</Commentaire> + <Creation>Balayn_P</Creation> + <DerniereModif>Balayn_P</DerniereModif> + <DateCreation>20090122</DateCreation> + <FichEtudes> + <Fichier NomRef="SCMod3.ocal.xml" /> + <!-- Un scénario est défini par 5 fichiers de niveau scénario et 1 à n modèles --> + <Fichier NomRef="SCMod3.ores.xml" /> + <!-- Tous les fichiers utilisés par le scénario sont identifiés par leur nom dans l'espace etude --> + <Fichier NomRef="SCMod3.pcal.xml" /> + <Fichier NomRef="Modele3.dclm.xml" /> + <Fichier NomRef="SCMod3.dlhy.xml" /> + </FichEtudes> + <Modeles> + <Modele-ref NomRef="MOModele3"/> + </Modeles> + <Runs> + <Run Nom="20090205084210"> + <Commentaire>Description du calcul du 5 février</Commentaire> + <!-- Sur le disque chaque run est un sous-dossier du dossier scénario. Il contient les 5 fichiers d'entrée de niveau scénrio, --> + <!-- et un dossier pour chaque modèle. Chaque dossier modèle contient 4 fichiers d'entrée de niveau modèle, --> + <!-- 4 fichiers d'entrée par sous-modèle et les fichiers de résultats décrits ci-dessous. --> + <!-- Aucune info n'est nécessaire pour tous les fichiers d'entrée puisqu'un des postulats veut qu'on ne puisse pas --> + <!-- modifier un sous-modèle, un modèle ou un scénario tant qu'il y a des runs qui les référencent --> + <FichRuns> + <Modeles> + <Modele-run NomRef="MOModele3"> + <Fichier-res Nom="MOModele3.rptr.xml" Type="RPTR"/> + <Fichier-res Nom="MOModele3.rptg.xml" Type="RPTG"/> + <Fichier-res Nom="MOModele3.rpti.xml" Type="RPTI"/> + <Fichier-res Nom="MOModele3.rcal.xml" Type="RCAL"/> + </Modele-run> + </Modeles> + </FichRuns> + </Run> + <Run Nom="20090211152047"> + <Commentaire>Un autre calcul lancé le 11 février</Commentaire> + <FichRuns> + <Modeles> + <Modele-run NomRef="MOModele3"> + <Fichier-res Nom="MOModele3.rptr.xml" Type="RPTR"/> + <Fichier-res Nom="MOModele3.rptg.xml" Type="RPTG"/> + <Fichier-res Nom="MOModele3.rpti.xml" Type="RPTI"/> + <Fichier-res Nom="MOModele3.rcal.xml" Type="RCAL"/> + </Modele-run> + </Modeles> + </FichRuns> + </Run> + </Runs> + <RunCourant NomRef="20090211152047" /> + + + </Scenario> + </Scenarios> + <!-- <Comparaisons></Comparaisons --> +</ETU> \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modifications-Obligatoires.txt =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modifications-Obligatoires.txt 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modifications-Obligatoires.txt 2009-03-18 19:57:31 UTC (rev 4556) @@ -30,6 +30,17 @@ par <ScenarioCourant NomRef="SCMod3" /> (la balise Scenario d\xE9ja utilis\xE9e) + + + - remplacer dans la balise <FichEtudes>: mettre les type dans l'attirbut: + <ORES Nom="SCMod3.ores.xml" Chemin=".\" /> + ... + <PCAL Nom="SCMod3.pcal.xml" Chemin=".\" /> + A remplacer par: + <Fichier Nom="SCMod3.ores.xml" Chemin=".\" type="ORES" /> + ... + <Fichier Nom="SCMod3.pcal.xml" Chemin=".\" type="PCAL"/> + - remplacer dans la balise <Repertoire>: @@ -49,9 +60,9 @@ </FichEtudes> par <FichEtudes> - <Fichier NomRef="SMMOModele3.drso.xml" /> - <Fichier NomRef="SMMOModele3.dcsp.xml" /> - <Fichier NomRef="SMMOModele3.dptg.xml" /> + <Fichier-ref NomRef="SMMOModele3.drso.xml" /> + <Fichier-ref NomRef="SMMOModele3.dcsp.xml" /> + <Fichier-ref NomRef="SMMOModele3.dptg.xml" /> .... <Fichier NomRef="SMMOModele3.dfrt.xml" /> </FichEtudes> @@ -64,7 +75,15 @@ - remplacer dans la balise <runs>; renommer les balises <Modele> en <Modele-run> + -remplacer dans <Run>: rempalcer les balises fichier resultats par <Fichier-res> avec un type + exemple: + <RPTI Nom="MOModele3.rpti.xml" /> + <RCAL Nom="MOModele3.rcal.xml" /> + en + <Fichier-res Nom="MOModele3.rpti.xml" type="RPTI"/> + <Fichier-res Nom="MOModele3.rcal.xml" type="RCAL" /> + - remplacer dans la balise <scenario>: renommer la balise <RunCourant> : <RunCourant> <Run NomRef="20090211152047"/> Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Questions-ModelisationDonnees.txt =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Questions-ModelisationDonnees.txt 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Questions-ModelisationDonnees.txt 2009-03-18 19:57:31 UTC (rev 4556) @@ -68,7 +68,20 @@ - Fichier ETU: - A quoi sert la balise rapport ? peut on avoir un exemple ? - Balise <Runs>: dans la balise <FichRuns> on ne voit dans l'exemple que des balises <Modeles>. Est ce qu'il peut y avoir autre chose? - + - Balise <FichRuns> de <Runs>: est ce aque les fichiers d\xE9crit sont toujours des fichiers r\xE9sultat associ\xE9 au mod\xE8le r\xE9f\xE9renc\xE9 ? + exemple du fichier: + <Modele NomRef="MOModele3"> + <RPTR Nom="MOModele3.rptr.xml" /> + <RPTG Nom="MOModele3.rptg.xml" /> + <RPTI Nom="MOModele3.rpti.xml" /> + <RCAL Nom="MOModele3.rcal.xml" /> + </Modele> + veut il toujours dire : pour le mod\xE8le de r\xE9f\xE9rence MOModele3, les fichiers d\xE9crits ci-dessous sont des fichiers r\xE9sultats associ\xE9s \xE0 ce mod\xE8le ? + Ne faudrait-il pas rajouter le chemin pour les fichiers r\xE9sultats ? ou est ce que le nom correspond toujours au nom du fichier r\xE9asultat? + Dans ce cas le chemin complet est la concat\xE9nation du nom avec le chemin d\xE9crit dans la balise <Repertoire> de nom clef <Repertoire Nom="RUNS"> ? + + + - Fichier OCAL: pourrait-on avoir un exemple de fichier OCAL ? Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10reader.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10reader.java 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/IO/Crue10reader.java 2009-03-18 19:57:31 UTC (rev 4556) @@ -9,9 +9,11 @@ import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDPTI; import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDRSO; import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistDCSP; +import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistETU; import main.java.org.fudaa.dodico.crue.dao.CrueDaoPersistOPTG; import main.java.org.fudaa.dodico.crue.dao.CrueDaoParsing; import main.java.org.fudaa.dodico.crue.dao.validatorXML.ValidatorXml; +import main.java.org.fudaa.dodico.crue.metier.EMHproject; import main.java.org.fudaa.dodico.crue.metier.emh.CrueData; import main.java.org.fudaa.dodico.crue.metier.emh.DonFrt; import main.java.org.fudaa.dodico.crue.metier.emh.DonPrtReseau; @@ -68,7 +70,22 @@ } + /** + * lit le fichier xml ETU + * ETU - Le fichier ETU d\xE9crit les conditions initiales + * et retourne les donn\xE9es m\xE9tier correspondantes. + * Attention, il faut fournir en entree les structures de donnees DRSO + * car le fichier ETU ne contient que des references vers les objets d\xE9crits dans DRSO. + */ + public static EMHproject readETUFile( File fichierETU,List<String> listeMessageError){ + return (new ReaderWithExtra<EMHproject>(new CrueDaoPersistETU(),null,listeMessageError)).read(fichierETU, ValidatorXml.xsdETU); + } + + + + + /** * lit le fichier xml DRSO * DRSO - Fichier des donn\xE9es du r\xE9seau (xml) * et retourne les donn\xE9es m\xE9tier correspondantes. Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java 2009-03-18 19:57:31 UTC (rev 4556) @@ -1,5 +1,6 @@ package main.java.org.fudaa.dodico.crue.dao; +import java.util.Date; import java.util.List; import main.java.org.fudaa.dodico.crue.commun.CrueRessource; @@ -12,13 +13,15 @@ */ public class CrueDaoFactoryCommom { + public static String VersionCrue="0.0"; + public static String Commentaire="Genere par Fudaa le "+new Date(System.currentTimeMillis()); - //-- listing des diff\xE9rents fichiers et leur noms utilis\xE9s --// public static String ETU="ETU"; public static String DRSO="DRSO"; public static String ORES="ORES"; + public static String OCAL="OCAL"; public static String PCAL="PCAL"; public static String DCLM="DCLM"; public static String DLHY="DLHY"; @@ -30,11 +33,13 @@ public static String DCSP="DCSP"; public static String DPTG="DPTG"; public static String DFRT="DFRT"; - public static String DC="DRSO"; - public static String DH="DRSO"; + public static String DC="DC"; + public static String DH="DH"; //-- fichiers de resultats --// + public static String FICHIERRESULTAT="RESULTAT"; + public static String RPTR="RPTR"; public static String RPTG="RPTG"; public static String RPTI="RPTI"; @@ -100,7 +105,7 @@ * @return */ public static String unknowReference(String balise,String nomRef){ - return CrueRessource.getS(balise+": Impossible de trouver la "+balise+" de r\xE9f\xE9rence "+nomRef); + return CrueRessource.getS(balise+": Impossible de trouver "+balise+" de r\xE9f\xE9rence "+nomRef); } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryETU.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryETU.java 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryETU.java 2009-03-18 19:57:31 UTC (rev 4556) @@ -1,13 +1,20 @@ package main.java.org.fudaa.dodico.crue.dao; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import main.java.org.fudaa.dodico.crue.commun.CrueRessource; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatETU.Repertoire; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatETU.TypeFichierDispo; +import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatETU.*; + +import main.java.org.fudaa.dodico.crue.metier.EMHInfosVersion; +import main.java.org.fudaa.dodico.crue.metier.EMHModeleBase; +import main.java.org.fudaa.dodico.crue.metier.EMHModeleEnchainement; +import main.java.org.fudaa.dodico.crue.metier.EMHModeleRun; import main.java.org.fudaa.dodico.crue.metier.EMHProjectInfos; +import main.java.org.fudaa.dodico.crue.metier.EMHRun; +import main.java.org.fudaa.dodico.crue.metier.EMHScenario; import main.java.org.fudaa.dodico.crue.metier.EMHproject; import main.java.org.fudaa.dodico.crue.metier.FichierCrue; @@ -29,29 +36,283 @@ public static EMHproject remplirMetierETU(CrueDaoPersistETU persistance,List<String> listeMessageError){ EMHproject project=new EMHproject(); + EMHProjectInfos infos=new EMHProjectInfos(); + //-- remplissage des infos du projet --// - EMHProjectInfos infos=remplirMetierInfos(persistance); + infos.setInfosVersions(remplirMetierInfos(persistance)); //-- remplissage de la base de fichiers utilis\xE9s dans tout le projet --// - remplirBaseDeFichiers(persistance.FichEtudes, infos, listeMessageError); + remplirBaseFichiers(persistance.FichEtudes, infos, listeMessageError); //-- Directories --// remplirBaseDirectories(persistance.Repertoires, infos, listeMessageError); + + //-- remplissage des sous modeles. A besoin de la liste des fichiers crues.--// + EMHModeleEnchainement baseSousModeles=remplirBaseSousModeles(persistance.SousModeles,infos,listeMessageError); + + //-- Remplissage des modeles --// + EMHModeleEnchainement baseModeles=remplirBaseModeles(persistance.Modeles,baseSousModeles,infos,listeMessageError); - //TODO la suite en commencant par les sous modeles... // + //-- remplissage des sc\xE9narios --// + List<EMHScenario> baseScenarios=remplirBaseSecenarios(persistance.Scenarios, baseModeles,infos, listeMessageError); + //-- 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)); + }else + listeMessageError.add(CrueDaoFactoryCommom.unknowReference("Scenario", persistance.ScenarioCourant.NomRef)); //-- ajout des infos au projet actuel --// project.setInfos(infos); + project.setBaseModeles(baseModeles); + project.setBaseSousModeles(baseSousModeles); + project.setBaseScenarios(baseScenarios); + + return project; + } + + /** + * Remplissage de la base des scenarios. + * Affectation des modeles aux scenarios concern\xE9s. + * Affectation des runs aux scenarios concern\xE9s. + * Affectation des fichiers de donn\xE9es aux sous scenarios concern\xE9s. + * @param listePersist + * @param listeMessageError + * @return + */ + public static List<EMHScenario> remplirBaseSecenarios(List<Scenario> listePersist,EMHModeleEnchainement baseModeles,EMHProjectInfos infos,List<String> listeMessageError){ + List<EMHScenario> listeScenariosMetier=new ArrayList<EMHScenario>(); + + if(listePersist==null || listePersist.size()==0){ + listeMessageError.add(CrueDaoFactoryCommom.listEmpty("Scenarios")); + }else + for(Scenario scenarPersist:listePersist){ + + if(scenarPersist.Nom!=null && EMHScenario.findById(scenarPersist.Nom,listeScenariosMetier)==null){ + + EMHScenario newScenar=new EMHScenario(scenarPersist.Nom); + EMHInfosVersion infosVersions=remplirMetierInfos(scenarPersist); + newScenar.setInfosVersions(infosVersions); + + //-- ajout des fichiers de donn\xE9es --// + if(scenarPersist.FichEtudes==null || scenarPersist.FichEtudes.size()==0){ + listeMessageError.add(CrueDaoFactoryCommom.listEmpty(CrueRessource.getS("FichEtudes du Scenario")+" "+scenarPersist.Nom)); + }else{ + for(Ref reference:scenarPersist.FichEtudes){ + //-- on essaie de retrouver la reference du fichier --// + if(reference.NomRef!=null && infos.existFileInBase(reference.NomRef)){ + FichierCrue fichierData=infos.getFileFromBase(reference.NomRef); + newScenar.addFichierDonneesToScenario(fichierData); + }else{ + listeMessageError.add(CrueDaoFactoryCommom.unknowReference("Fichier", reference.NomRef)); + } + } + } + + //-- ajout des modeles concernes --// + if(scenarPersist.Modeles==null || scenarPersist.Modeles.size()==0){ + listeMessageError.add(CrueDaoFactoryCommom.listEmpty(CrueRessource.getS("Modele de Scenario")+" "+scenarPersist.Nom)); + }else{ + for(Ref reference:scenarPersist.Modeles){ + //-- on essaie de retrouver la reference du fichier --// + if(reference.NomRef!=null && baseModeles.existModeleInBase(reference.NomRef)){ + EMHModeleBase modeleData=baseModeles.getModeleFromBase(reference.NomRef); + //-- ajout du modele dans le scenar --// + newScenar.addModeleDonneesToScenario(modeleData); + }else{ + listeMessageError.add(CrueDaoFactoryCommom.unknowReference("SousModele", reference.NomRef)); + } + } + } + //-- ajout des runs --// + if(scenarPersist.Runs==null || scenarPersist.Runs.size()==0){ + listeMessageError.add(CrueDaoFactoryCommom.listEmpty(CrueRessource.getS("Runs de Scenario")+" "+scenarPersist.Nom)); + }else{ + for(Run run:scenarPersist.Runs){ + //-- on essaie d'ajouter le run --// + if(run.Nom!=null ){ + + //-- Creation du run --// + EMHRun runMetier=new EMHRun(run.Nom); + + //-- infos relatives au run --// + infosVersions=remplirMetierInfos(run); + runMetier.setInfosVersion(infosVersions); + //-- parcours des modeles associ\xE9 au run --// + if(run.FichRuns==null || run.FichRuns.Modeles==null || run.FichRuns.Modeles.size()==0){ + listeMessageError.add(CrueDaoFactoryCommom.listEmpty(CrueRessource.getS("Modeles duRun")+" "+run.Nom)); + }else{ + + //-- remplissage des infos--// + for(ModeleRun modeleRun:run.FichRuns.Modeles){ + + //-- ETAPE 1 :recuperation du modele referenc\xE9 --// + if(modeleRun.NomRef!=null && baseModeles.existModeleInBase(modeleRun.NomRef)){ + EMHModeleBase modeleDataRun=baseModeles.getModeleFromBase(modeleRun.NomRef); + + //-- ETAPE 2 :recuperation des fichiers resultats associ\xE9s --// + + if(modeleRun.fichiersRes==null || modeleRun.fichiersRes.size()==0 ){ + listeMessageError.add(CrueDaoFactoryCommom.listEmpty(CrueRessource.getS("Fichiers du modele")+" "+modeleRun.NomRef+ CrueRessource.getS("du run")+" "+run.Nom)); + }else{ + List<FichierCrue> listeFichierResultatsAssocies =new ArrayList<FichierCrue>(); + + + for(FichierResultat res:modeleRun.fichiersRes){ + FichierCrue metierRes=new FichierCrue(res.Nom,res.Nom,res.Type); + listeFichierResultatsAssocies.add(metierRes); + } + + //-- creation du modele run metier --// + EMHModeleRun modeleRunMetier=new EMHModeleRun(modeleDataRun,listeFichierResultatsAssocies); + runMetier.ajouteModeleRun(modeleRunMetier); + + } + }else{ + listeMessageError.add(CrueDaoFactoryCommom.unknowReference("ModeleRun", modeleRun.NomRef)); + } + } + } + //-- ajout du modele dans le scenar --// + if(newScenar.acceptRun(runMetier.getId())) + newScenar.addRunToScenario(runMetier); + else + listeMessageError.add(CrueDaoFactoryCommom.errorIdNonUnique("Run",runMetier.getId())); + }else{ + listeMessageError.add(CrueDaoFactoryCommom.emhEmpty("Run")); + } + } + + + //-- recherche du run courant si sp\xE9cifi\xE9 --// + if(scenarPersist.RunCourant!=null && newScenar.existRunInScenario(scenarPersist.RunCourant.NomRef) ){ + EMHRun runReference=newScenar.getRunFromScenar(scenarPersist.RunCourant.NomRef); + + //-- gestion du run courant --// + newScenar.setRunCourant(runReference); + + }else{ + listeMessageError.add(CrueDaoFactoryCommom.unknowReference("Run", scenarPersist.RunCourant.NomRef)); + } + + } + + //-- ajout du scenario dans la liste --// + listeScenariosMetier.add(newScenar); + + }else{ + listeMessageError.add(CrueDaoFactoryCommom.errorIdNonUnique("Scenario",scenarPersist.Nom)); + } + } + return listeScenariosMetier; + } + + + /** + * Remplissage de la base des sous modeles. + * Affectation des fichiers de donn\xE9es aux sous modeles concern\xE9s. + * @param listePersist + * @param listeMessageError + * @return + */ + public static EMHModeleEnchainement remplirBaseSousModeles(List<SousModele> listePersist,EMHProjectInfos infos,List<String> listeMessageError){ + EMHModeleEnchainement gestionSousModeles=new EMHModeleEnchainement(); + if(listePersist==null || listePersist.size()==0){ + listeMessageError.add(CrueDaoFactoryCommom.listEmpty("SousModeles")); + }else + for(SousModele smPersist:listePersist){ + //-- remplisage des infos --// + EMHInfosVersion infosVersions=remplirMetierInfos(smPersist); + if(smPersist.Nom!=null && gestionSousModeles.accept(smPersist.Nom)){ + EMHModeleBase smMetier=new EMHModeleBase(smPersist.Nom); + smMetier.setInfosVersions(infosVersions); + if(smPersist.FichEtudes==null || smPersist.FichEtudes.size()==0){ + listeMessageError.add(CrueDaoFactoryCommom.listEmpty(CrueRessource.getS("FichEtudes de SousModele")+" "+smPersist.Nom)); + }else{ + for(Ref reference:smPersist.FichEtudes){ + //-- on essaie de retrouver la reference du fichier --// + if(reference.NomRef!=null && infos.existFileInBase(reference.NomRef)){ + FichierCrue fichierData=infos.getFileFromBase(reference.NomRef); + smMetier.addFichierDonneesToModele(fichierData); + }else{ + listeMessageError.add(CrueDaoFactoryCommom.unknowReference("Fichier", reference.NomRef)); + } + } + } + //-- ajout du sous modele a la liste --// + gestionSousModeles.ajouteModele(smMetier); + + }else{ + listeMessageError.add(CrueDaoFactoryCommom.errorIdNonUnique("SousModele",smPersist.Nom)); + } + } + return gestionSousModeles; + } - return project; + /** + * Remplissage de la base des modeles. + * Affectation des fichiers de donn\xE9es aux sous modeles concern\xE9s. + * Affectation des sous modeles aux modeles concern\xE9s. + * @param listePersist + * @param listeMessageError + * @return + */ + public static EMHModeleEnchainement remplirBaseModeles(List<Modele> listePersist,EMHModeleEnchainement baseSousModeles,EMHProjectInfos infos,List<String> listeMessageError){ + EMHModeleEnchainement gestionModeles=new EMHModeleEnchainement(); + + if(listePersist==null || listePersist.size()==0){ + listeMessageError.add(CrueDaoFactoryCommom.listEmpty("Modeles")); + + }else + for(Modele smPersist:listePersist){ + //-- remplisage des infos --// + EMHInfosVersion infosVersions=remplirMetierInfos(smPersist); + if(smPersist.Nom!=null && gestionModeles.accept(smPersist.Nom)){ + EMHModeleBase newModeleMetier=new EMHModeleBase(smPersist.Nom); + newModeleMetier.setInfosVersions(infosVersions); + //-- ajout des fichiers de donn\xE9es --// + if(smPersist.FichEtudes==null || smPersist.FichEtudes.size()==0){ + listeMessageError.add(CrueDaoFactoryCommom.listEmpty(CrueRessource.getS("FichEtudes du Modele")+" "+smPersist.Nom)); + }else{ + for(Ref reference:smPersist.FichEtudes){ + //-- on essaie de retrouver la reference du fichier --// + if(reference.NomRef!=null && infos.existFileInBase(reference.NomRef)){ + FichierCrue fichierData=infos.getFileFromBase(reference.NomRef); + newModeleMetier.addFichierDonneesToModele(fichierData); + }else{ + listeMessageError.add(CrueDaoFactoryCommom.unknowReference("Fichier", reference.NomRef)); + } + } + } + //-- ajout de sous modeles --// + if(smPersist.SousModeles==null || smPersist.SousModeles.size()==0){ + listeMessageError.add(CrueDaoFactoryCommom.listEmpty(CrueRessource.getS("SousModeles du Modele")+" "+smPersist.Nom)); + }else{ + for(Ref reference:smPersist.SousModeles){ + //-- on essaie de retrouver la reference du fichier --// + if(reference.NomRef!=null && baseSousModeles.existModeleInBase(reference.NomRef)){ + EMHModeleBase sousModeleData=baseSousModeles.getModeleFromBase(reference.NomRef); + newModeleMetier.addSousModeleDonneesToModele(sousModeleData); + }else{ + listeMessageError.add(CrueDaoFactoryCommom.unknowReference("SousModele", reference.NomRef)); + } + } + } + //-- ajout du sous modele a la liste --// + gestionModeles.ajouteModele(newModeleMetier); + + }else{ + listeMessageError.add(CrueDaoFactoryCommom.errorIdNonUnique("Modele",smPersist.Nom)); + } + } + return gestionModeles; } /** @@ -60,22 +321,84 @@ * @param persistance * @return */ - public static EMHProjectInfos remplirMetierInfos(CrueDaoPersistETU persistance){ - EMHProjectInfos infos=new EMHProjectInfos(); + public static EMHInfosVersion remplirMetierInfos(Object persist){ + EMHInfosVersion infos=new EMHInfosVersion(); - if(persistance.AuteurDerniereModif!=null) - infos.setAuteurDerniereModif(persistance.AuteurDerniereModif); - if(persistance.Commentaire!=null) - infos.setCommentaire(persistance.Commentaire); - if(persistance.Creation!=null) - infos.setCreation(persistance.Creation); - if(persistance.DateCreation!=null) - infos.setDateCreation(persistance.DateCreation); - if(persistance.DateDerniereModif!=null) - infos.setDateDerniereModif(persistance.DateDerniereModif); - if(persistance.VersionCrue!=null) - infos.setVersionCrue(persistance.VersionCrue); + if(persist instanceof CrueDaoPersistETU){ + CrueDaoPersistETU persistance=(CrueDaoPersistETU)persist; + if(persistance.AuteurDerniereModif!=null) + infos.setAuteurDerniereModif(persistance.AuteurDerniereModif); + if(persistance.Commentaire!=null) + infos.setCommentaire(persistance.Commentaire); + if(persistance.Creation!=null) + infos.setCreation(persistance.Creation); + if(persistance.DateCreation!=null) + infos.setDateCreation(persistance.DateCreation); + if(persistance.DateDerniereModif!=null) + infos.setDateDerniereModif(persistance.DateDerniereModif); + + }else if(persist instanceof SousModele){ + SousModele persistance=(SousModele)persist; + + if(persistance.Type!=null) + infos.setType(persistance.Type); + if(persistance.Commentaire!=null) + infos.setCommentaire(persistance.Commentaire); + if(persistance.Creation!=null) + infos.setCreation(persistance.Creation); + if(persistance.DateCreation!=null) + infos.setDateCreation(persistance.DateCreation); + if(persistance.DerniereModif!=null) + infos.setDerniereModif(persistance.DerniereModif); + if(persistance.DateDerniereModif!=null) + infos.setDateDerniereModif(persistance.DateDerniereModif); + + }else if(persist instanceof Modele){ + Modele persistance=(Modele)persist; + + if(persistance.Type!=null) + infos.setType(persistance.Type); + if(persistance.Commentaire!=null) + infos.setCommentaire(persistance.Commentaire); + if(persistance.Creation!=null) + infos.setCreation(persistance.Creation); + if(persistance.DateCreation!=null) + infos.setDateCreation(persistance.DateCreation); + if(persistance.DerniereModif!=null) + infos.setDerniereModif(persistance.DerniereModif); + if(persistance.DateDerniereModif!=null) + infos.setDateDerniereModif(persistance.DateDerniereModif); + + }else if (persist instanceof Scenario){ + Scenario persistance=(Scenario)persist; + + if(persistance.Type!=null) + infos.setType(persistance.Type); + if(persistance.Commentaire!=null) + infos.setCommentaire(persistance.Commentaire); + if(persistance.Creation!=null) + infos.setCreation(persistance.Creation); + if(persistance.DateCreation!=null) + infos.setDateCreation(persistance.DateCreation); + if(persistance.DerniereModif!=null) + infos.setDerniereModif(persistance.DerniereModif); + if(persistance.DateDerniereModif!=null) + infos.setDateDerniereModif(persistance.DateDerniereModif); + + }else if (persist instanceof Run){ + Run persistance=(Run)persist; + + + if(persistance.Commentaire!=null) + infos.setCommentaire(persistance.Commentaire); + + + } + + + + return infos; } @@ -86,9 +409,9 @@ * @param listeMessageError * @return */ - public static void remplirBaseDeFichiers(List<TypeFichierDispo> fichEtudesPersist,EMHProjectInfos infoProjet,List<String> listeMessageError){ + public static void remplirBaseFichiers(List<TypeFichierDispo> fichEtudesPersist,EMHProjectInfos infoProjet,List<String> listeMessageError){ - if(fichEtudesPersist==null){ + if(fichEtudesPersist==null || fichEtudesPersist.size()==0){ listeMessageError.add(CrueDaoFactoryCommom.listEmpty("FichEtudes")); return; } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoParsing.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoParsing.java 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoParsing.java 2009-03-18 19:57:31 UTC (rev 4556) @@ -33,8 +33,7 @@ */ public abstract class CrueDaoParsing<T> { - public String VersionCrue="0.0"; - public String Commentaire="Genere par Fudaa le "+new Date(System.currentTimeMillis()); + /** * Initiazlise le parser xstream avec les bons alias des noms de balises. * @return Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDCSP.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDCSP.java 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDCSP.java 2009-03-18 19:57:31 UTC (rev 4556) @@ -1,6 +1,7 @@ package main.java.org.fudaa.dodico.crue.dao; import java.util.ArrayList; +import java.util.Date; import java.util.List; @@ -21,6 +22,8 @@ */ public class CrueDaoPersistDCSP extends CrueDaoParsing<List<EMH>>{ + public String VersionCrue=CrueDaoFactoryCommom.VersionCrue; + public String Commentaire=CrueDaoFactoryCommom.Commentaire; /** * La liste des sections Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDFRT.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDFRT.java 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDFRT.java 2009-03-18 19:57:31 UTC (rev 4556) @@ -21,6 +21,10 @@ * Suffixe ajout\xE9 aux r\xE9f\xE9rences des objets emh du fichier dpti pour indiquer qu'ils r\xE9f\xE8rent aux objets d\xE9finis dans DRSO. */ public static final String SUFFIXE_REF_DFRT="DFRT#"; + + public String VersionCrue=CrueDaoFactoryCommom.VersionCrue; + public String Commentaire=CrueDaoFactoryCommom.Commentaire; + /** * Il faut ajouter un parametre dans xstream pour lui indiquer de degager les balises 'collections' * car il n'y en a pas dans ce fichier. Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDPTG.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDPTG.java 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDPTG.java 2009-03-18 19:57:31 UTC (rev 4556) @@ -23,6 +23,9 @@ public class CrueDaoPersistDPTG extends CrueDaoParsing<CrueData>{ public static final String SUFFIXE_REF_DPTG="DPTG#"; + public String VersionCrue=CrueDaoFactoryCommom.VersionCrue; + public String Commentaire=CrueDaoFactoryCommom.Commentaire; + List<profilDPTG> Profils; List<SectionIdem> Sections; List<BrancheSaintVenant> Branches; Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDPTI.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDPTI.java 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDPTI.java 2009-03-18 19:57:31 UTC (rev 4556) @@ -24,7 +24,8 @@ */ public class CrueDaoPersistDPTI extends CrueDaoParsing<CrueData>{ - + public String VersionCrue=CrueDaoFactoryCommom.VersionCrue; + public String Commentaire=CrueDaoFactoryCommom.Commentaire; /** * la liste des noeuds */ Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDRSO.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDRSO.java 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistDRSO.java 2009-03-18 19:57:31 UTC (rev 4556) @@ -27,6 +27,9 @@ */ public class CrueDaoPersistDRSO extends CrueDaoParsing<CrueData>{ + public String VersionCrue=CrueDaoFactoryCommom.VersionCrue; + public String Commentaire=CrueDaoFactoryCommom.Commentaire; + /** * Suffixe ajout\xE9 aux r\xE9f\xE9rences des objets emh du fichier dpti pour indiquer qu'ils r\xE9f\xE8rent aux objets d\xE9finis dans DRSO. */ Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistETU.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistETU.java 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistETU.java 2009-03-18 19:57:31 UTC (rev 4556) @@ -21,7 +21,7 @@ */ public class CrueDaoPersistETU extends CrueDaoParsing<EMHproject>{ - + public String Commentaire=CrueDaoFactoryCommom.Commentaire; public String Creation; public String DateCreation; public String AuteurDerniereModif; Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistOPTG.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistOPTG.java 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistOPTG.java 2009-03-18 19:57:31 UTC (rev 4556) @@ -28,6 +28,8 @@ */ public class CrueDaoPersistOPTG extends CrueDaoParsing<DonPrtReseau>{ + public String VersionCrue=CrueDaoFactoryCommom.VersionCrue; + public String Commentaire=CrueDaoFactoryCommom.Commentaire; double RegleProfPlat; double ReglePenteRupture; Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDRSO.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDRSO.java 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDRSO.java 2009-03-18 19:57:31 UTC (rev 4556) @@ -42,7 +42,7 @@ */ public void initXmlParserNode(XStream xstream ){ //-- alias gestion pour les noeuds --// - //xstream.alias("NoeudNiveauContinu", NoeudNiveauContinu.class); + xstream.alias("NoeudNiveauContinu", NoeudNiveauContinu.class); //-- mettre attribut Nom comme attribut de la balise Noeud et son converter appropri\xE9 --// //-- creation des alias pour que ce soit + parlant dans le xml file --// xstream.useAttributeFor(NoeudNiveauContinu.class, "Nom"); Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatETU.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatETU.java 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatETU.java 2009-03-18 19:57:31 UTC (rev 4556) @@ -2,7 +2,6 @@ import java.util.List; -import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatDRSO.ReferenceProfil; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.converters.Converter; @@ -20,7 +19,7 @@ public void initXmlParserForETU(XStream xstream ){ //-- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias(CrueDaoFactoryCommom.ETU, CrueDaoPersistDCSP.class); + xstream.alias(CrueDaoFactoryCommom.ETU, CrueDaoPersistETU.class); //-- liste des initialisations n\xE9cessaires pour le formattage des donn\xE9es--// initXmlParserForScenario(xstream); initXmlParserForRepertoires(xstream); @@ -53,22 +52,30 @@ /** * Ce fonctionnement ne peut etre ok que dans le cas de la lecture seule. */ - xstream.alias(CrueDaoFactoryCommom.DRSO, TypeFichierDispo.class); - xstream.alias(CrueDaoFactoryCommom.ORES, TypeFichierDispo.class); - xstream.alias(CrueDaoFactoryCommom.PCAL, TypeFichierDispo.class); - xstream.alias(CrueDaoFactoryCommom.DCLM, TypeFichierDispo.class); - xstream.alias(CrueDaoFactoryCommom.DLHY, TypeFichierDispo.class); - xstream.alias(CrueDaoFactoryCommom.OPTR, TypeFichierDispo.class); - xstream.alias(CrueDaoFactoryCommom.OPTG, TypeFichierDispo.class); - xstream.alias(CrueDaoFactoryCommom.OPTI, TypeFichierDispo.class); - xstream.alias(CrueDaoFactoryCommom.PNUM, TypeFichierDispo.class); - xstream.alias(CrueDaoFactoryCommom.DPTI, TypeFichierDispo.class); - xstream.alias(CrueDaoFactoryCommom.DCSP, TypeFichierDispo.class); - xstream.alias(CrueDaoFactoryCommom.DPTG, TypeFichierDispo.class); - xstream.alias(CrueDaoFactoryCommom.DFRT, TypeFichierDispo.class); - xstream.alias(CrueDaoFactoryCommom.DC, TypeFichierDispo.class); - xstream.alias(CrueDaoFactoryCommom.DH, TypeFichierDispo.class); - xstream.registerConverter(new TypeFichierConverter()); + +// xstream.alias(CrueDaoFactoryCommom.OCAL, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.DRSO, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.ORES, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.PCAL, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.DCLM, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.DLHY, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.OPTR, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.OPTG, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.OPTI, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.PNUM, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.DPTI, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.DCSP, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.DPTG, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.DFRT, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.DC, TypeFichierDispo.class); +// xstream.alias(CrueDaoFactoryCommom.DH, TypeFichierDispo.class); + + xstream.alias("Fichier", TypeFichierDispo.class); + + xstream.useAttributeFor(TypeFichierDispo.class, "Nom"); + xstream.useAttributeFor(TypeFichierDispo.class, "Chemin"); + xstream.useAttributeFor(TypeFichierDispo.class, "Type"); + //xstream.registerConverter(new TypeFichierConverter()); } public void initXmlParserForSousModele(XStream xstream ){ @@ -102,7 +109,7 @@ //-- la reference est utilisee pour toutes ces balises --// //-- dans la les balsies <FichEtudes> --// - xstream.alias("Fichier", Ref.class); + xstream.alias("Fichier-ref", Ref.class); //-- dans la balise <Modele> --// xstream.alias("SousModele-ref", Ref.class); //-- dans la balise <Scenario> --// @@ -125,11 +132,13 @@ xstream.addImplicitCollection(ModeleRun.class, "fichiersRes"); //-- gestion des fichiers resultats du modele run --// - xstream.alias(CrueDaoFactoryCommom.RCAL, FichierResultat.class); - xstream.alias(CrueDaoFactoryCommom.RPTG, FichierResultat.class); - xstream.alias(CrueDaoFactoryCommom.RPTI, FichierResultat.class); - xstream.alias(CrueDaoFactoryCommom.RPTR, FichierResultat.class); +// xstream.alias(CrueDaoFactoryCommom.RCAL, FichierResultat.class); +// xstream.alias(CrueDaoFactoryCommom.RPTG, FichierResultat.class); +// xstream.alias(CrueDaoFactoryCommom.RPTI, FichierResultat.class); +// xstream.alias(CrueDaoFactoryCommom.RPTR, FichierResultat.class); + xstream.alias("Fichier-res", FichierResultat.class); xstream.useAttributeFor(FichierResultat.class, "Nom"); + xstream.useAttributeFor(FichierResultat.class, "Type"); xstream.registerConverter(new FichierResultatConverter()); } @@ -154,14 +163,17 @@ + + public static class Scenario{ public String Nom; public String Type; public String VersionCrue; public String Commentaire; public String Creation; + public String DateCreation; public String DerniereModif; - public String DateCreation; + public String DateDerniereModif; public List<Ref> FichEtudes; public List<Ref> Modeles; public List<Run> Runs; @@ -211,14 +223,14 @@ * Type du fichier: DRSO,DCSP.... * est lu au chargement du fichier masi pas \xE0 l'\xE9criture. */ - private String type=null; + public String Type; public String getType() { - return type; + return Type; } public void setType(String type) { - this.type = type; + this.Type = type; } } @@ -249,52 +261,52 @@ * @author Adrien Hadoux * */ - public class TypeFichierConverter implements Converter{ - - @Override - public void marshal(Object source, HierarchicalStreamWriter writer, - MarshallingContext context) { - if(source instanceof TypeFichierDispo){ - TypeFichierDispo typeFichier = (TypeFichierDispo) source; - // writer.startNode("fullname"); - writer.addAttribute("Nom", typeFichier.Nom); - writer.addAttribute("Chemin", typeFichier.Chemin); - } -// else{ -// ReferenceFichier refFichier = (ReferenceFichier) source; -// // writer.startNode("fullname"); -// writer.addAttribute("NomRef", refFichier.NomRef); +// public class TypeFichierConverter implements Converter{ +// +// +// public void marshal(Object source, HierarchicalStreamWriter writer, +// MarshallingContext context) { +// if(source instanceof TypeFichierDispo){ +// TypeFichierDispo typeFichier = (TypeFichierDispo) source; +// // writer.startNode("fullname"); +// writer.addAttribute("Nom", typeFichier.Nom); +// writer.addAttribute("Chemin", typeFichier.Chemin); // } - - // writer.endNode(); - } - - public Object unmarshal(HierarchicalStreamReader reader, - UnmarshallingContext context) { - - //-- retrouver le type du node par rapport au nom du node --// - String nom=reader.getNodeName(); - if(reader.getAttribute("Nom")!=null){ - TypeFichierDispo typeFichier=new TypeFichierDispo(); - - typeFichier.Nom=reader.getAttribute("Nom"); - typeFichier.Chemin=reader.getAttribute("Chemin"); - typeFichier.setType(nom); - return typeFichier; - } -// else{ -// ReferenceFichier refFichier = new ReferenceFichier(); -// refFichier.NomRef=reader.getAttribute("NomRef"); -// return refFichier; +//// else{ +//// ReferenceFichier refFichier = (ReferenceFichier) source; +//// // writer.startNode("fullname"); +//// writer.addAttribute("NomRef", refFichier.NomRef); +//// } +// +// // writer.endNode(); +// } +// +// public Object unmarshal(HierarchicalStreamReader reader, +// UnmarshallingContext context) { +// +// //-- retrouver le type du node par rapport au nom du node --// +// String nom=reader.getNodeName(); +// if(reader.getAttribute("Nom")!=null){ +// TypeFichierDispo typeFichier=new TypeFichierDispo(); +// +// typeFichier.Nom=reader.getAttribute("Nom"); +// typeFichier.Chemin=reader.getAttribute("Chemin"); +// typeFichier.setType(nom); +// return typeFichier; // } - return null; - } - - public boolean canConvert(Class type){ - return type.isInstance(TypeFichierDispo.class)/*|| type.isInstance(ReferenceFichier.class)*/; - } - - } +//// else{ +//// ReferenceFichier refFichier = new ReferenceFichier(); +//// refFichier.NomRef=reader.getAttribute("NomRef"); +//// return refFichier; +//// } +// return null; +// } +// +// public boolean canConvert(Class type){ +// return type.isInstance(TypeFichierDispo.class)/*|| type.isInstance(ReferenceFichier.class)*/; +// } +// +// } //-------------------------------------- SousModele --------------------------------------// public static class SousModele{ @@ -302,14 +314,15 @@ public String Type; public String Commentaire; public String Creation; + public String DateCreation; public String DerniereModif; public String DateDerniereModif; public List<Ref> FichEtudes; } + - public static class SousModeleConverter implements SingleValueConverter { public String toString(Object obj) { return ((SousModele) obj).Nom; } @@ -361,8 +374,9 @@ public String Type; public String Commentaire; public String Creation; + public String DateCreation; public String DerniereModif; - public String DateCreation; + public String DateDerniereModif; public List<Ref> FichEtudes; public List<Ref> SousModeles; @@ -428,6 +442,7 @@ public static class FichierResultat{ public String Nom; + public String Type; } public static class FichierResultatConverter implements SingleValueConverter { Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/ValidatorXml.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/ValidatorXml.java 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/ValidatorXml.java 2009-03-18 19:57:31 UTC (rev 4556) @@ -36,7 +36,7 @@ public static final String xsdDCSP="valideDCSP.xsd"; public static final String xsdOPTG="valideOPTG.xsd"; public static final String xsdDPTG="valideDPTG.xsd"; - + public static final String xsdETU="valideETU.xsd"; public static final String xsdTEST="valideTest.xsd"; /** Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/valideETU.xsd =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/valideETU.xsd 2009-03-18 09:24:35 UTC (rev 4555) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/c... [truncated message content] |