From: <had...@us...> - 2009-02-26 19:15:48
|
Revision: 4500 http://fudaa.svn.sourceforge.net/fudaa/?rev=4500&view=rev Author: hadouxad Date: 2009-02-26 19:15:42 +0000 (Thu, 26 Feb 2009) Log Message: ----------- * utilisation maven 2.0: installation et et prise en main * Cr?\195?\169ation du pom.xml et cr?\195?\169ation du projet * mise en place des fichiers jeux de donn?\195?\169es crue 9 et10 + l'architecture respecte un projet basique maven 2.0 (il a ?\195?\169t?\195?\169 cr?\195?\169?\195?\169 a partir de cela) + j'ai comit?\195?\169 un fichier Readme maven qui explique les commandes de bases et le principe (l'installation,....) + j'ai comit?\195?\169 les jeux de donn?\195?\169es r?\195?\169cup?\195?\169r?\195?\169s du site (modele 3 ?\195?\160 5); # j'ai s?\195?\169par?\195?\169 les fichiers crue 9 (dc, dh) de 10 # le fichier ETU + le r?\195?\169pertoire src/main/ressources contient les jar utiles (les jars des projets fudaa et ceux de la lib de ctulu ) Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/.classpath branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/.project branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Description.txt branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Etude.etu.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dcsp.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dfrt.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dlhy.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dptg.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dpti.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.drso.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.optg.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.pcal.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.pnum.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/ResHydro.drs branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/ResProfil.dlo branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/ResProfil.dpr branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/ResProfilLong.dle branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 9/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 9/Modele3.dc branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 9/Modele3.dh branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 4/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 4/Crue 10/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 4/Crue 10/Modele4.dcsp.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 4/Crue 10/Modele4.dptg.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 4/Crue 10/Modele4.drso.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 4/Crue 9/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 4/Crue 9/Modele4.dc branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 4/Crue 9/Modele4.dh branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 5/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 5/crue 10/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 5/crue 10/HYDROGRAMMES.DRS branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 5/crue 10/ResHydro.drs branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 5/crue 9/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 5/crue 9/Modele5.dc branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 5/crue 9/Modele5.dh branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Readme Maven.txt branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/PDFRenderer.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/PDFRenderer_src.zip branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/calendarbean.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/calendarbean.src.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/commons-logging-1.1.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/commons-logging-1.1.src.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/ctulu.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/db4o.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/dodico.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/ebli.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/fudaa.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/iText-2.1.4.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/iText-src-2.1.4.zip branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/jfreechart.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/jfreechart.src.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/junit.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/jxl.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/jxl.src.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/laf-plugin-50.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/laf-widget.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/liquidlnf.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/looks.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/looks.src.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/org-netbeans-api-visual.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/swingx-0.9.3-src.zip branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/swingx-0.9.3.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/trove.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/trove.src.zip branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/vgj.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/vgj.src.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/vrml97.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/xpp3_min-1.1.4c.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/xstream-1.3.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/pom.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/TransformCrue9to10.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/ 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/EMHScenario.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/dodico/crue/metier/emh/Branche.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CaractEMH.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/Casier.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/ConditionLimite.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMH.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageFilEau.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageGenerique.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheEnchainement.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheNiveauxAssocies.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheOrifice.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBranchePdc.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSaintVenant.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilLateral.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilTransversal.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheStrickler.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHCasierMNT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHCasierProfil.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/reader/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/reader/Crue09reader.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/reader/Crue10reader.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/writer/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/writer/Crue10writer.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/writer/Crue9writer.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/App.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/projet/ 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/CrueProjet.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 branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/AppTest.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/Crue.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/CrueCommomImplementation.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/ressources/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/classes/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/maven-archiver/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/maven-archiver/pom.properties branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/surefire-reports/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/surefire-reports/TEST-test.java.org.fudaa.fudaa.crue.AppTest.xml branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/surefire-reports/test.java.org.fudaa.fudaa.crue.AppTest.txt branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/test-classes/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/test-classes/test/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/test-classes/test/java/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/test-classes/test/java/org/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/test-classes/test/java/org/fudaa/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/test-classes/test/java/org/fudaa/fudaa/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/test-classes/test/java/org/fudaa/fudaa/crue/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/target/test-classes/test/java/org/fudaa/fudaa/crue/AppTest.class Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/.classpath =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/.classpath (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/.classpath 2009-02-26 19:15:42 UTC (rev 4500) @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="lib" path="lib/calendarbean.jar"/> + <classpathentry kind="lib" path="lib/calendarbean.src.jar"/> + <classpathentry kind="lib" path="lib/commons-logging-1.1.jar"/> + <classpathentry kind="lib" path="lib/commons-logging-1.1.src.jar"/> + <classpathentry kind="lib" path="lib/db4o.jar"/> + <classpathentry kind="lib" path="lib/iText-2.1.4.jar"/> + <classpathentry kind="lib" path="lib/iText-src-2.1.4.zip"/> + <classpathentry kind="lib" path="lib/jfreechart.jar"/> + <classpathentry kind="lib" path="lib/jfreechart.src.jar"/> + <classpathentry kind="lib" path="lib/junit.jar"/> + <classpathentry kind="lib" path="lib/jxl.jar"/> + <classpathentry kind="lib" path="lib/jxl.src.jar"/> + <classpathentry kind="lib" path="lib/laf-plugin-50.jar"/> + <classpathentry kind="lib" path="lib/laf-widget.jar"/> + <classpathentry kind="lib" path="lib/liquidlnf.jar"/> + <classpathentry kind="lib" path="lib/looks.jar"/> + <classpathentry kind="lib" path="lib/looks.src.jar"/> + <classpathentry kind="lib" path="lib/org-netbeans-api-visual.jar"/> + <classpathentry kind="lib" path="lib/PDFRenderer_src.zip"/> + <classpathentry kind="lib" path="lib/PDFRenderer.jar"/> + <classpathentry kind="lib" path="lib/swingx-0.9.3.jar"/> + <classpathentry kind="lib" path="lib/swingx-0.9.3-src.zip"/> + <classpathentry kind="lib" path="lib/trove.jar"/> + <classpathentry kind="lib" path="lib/trove.src.zip"/> + <classpathentry kind="lib" path="lib/vgj.jar"/> + <classpathentry kind="lib" path="lib/vgj.src.jar"/> + <classpathentry kind="lib" path="lib/vrml97.jar"/> + <classpathentry kind="lib" path="lib/xpp3_min-1.1.4c.jar"/> + <classpathentry kind="lib" path="lib/xstream-1.3.jar"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre1.5.0_16"/> + <classpathentry kind="lib" path="lib/ctulu.jar"/> + <classpathentry kind="lib" path="lib/dodico.jar"/> + <classpathentry kind="lib" path="lib/ebli.jar"/> + <classpathentry kind="lib" path="lib/fudaa.jar"/> + <classpathentry kind="output" path="target/classes"/> +</classpath> Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/.project =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/.project (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/.project 2009-02-26 19:15:42 UTC (rev 4500) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>Fudaa-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> Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Description.txt =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Description.txt (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Description.txt 2009-02-26 19:15:42 UTC (rev 4500) @@ -0,0 +1,23 @@ + +---------------------] Modele3 [--- +PBa Jan09 sur la base de Modele2 +Mod\xE8le de test th\xE9orique utilisant les \xE9l\xE9ments de mod\xE9lisation les plus courants: +- Branches 20, 2, 4, 5, 6 +- Casiers +- Profils Saint-Venant, Strickler, ProfIdem, Distmax + + +---------------------] Modele4 [--- +PBa Jan09 sur la base de MO2009 +Mod\xE8le de test b\xE2ti d'apr\xE8s un mod\xE8le r\xE9el pour le test d'une branche 15. Il comprend: +- Le bas de la retenue +- L'\xE9vacuateur de crue portant le barrage de retenue mod\xE9lis\xE9 par une branche 15 et une CL aval en niveau +- Une partie du canal d'amen\xE9e +- Un affluent (Le Roubion) se jetant dans le canal d'amen\xE9e, et comportant une branche 1 (perte de charge singuli\xE8re mod\xE9lisant un pont) + + +---------------------] Modele5 [--- +PBa Jan09 sur la base de MO2009 +Mod\xE8le de test b\xE2ti d'apr\xE8s un mod\xE8le r\xE9el de Vieux-Rh\xF4ne. Il comprend: +- Des profils Saint-Venant avec des d\xE9finitions multiples de lits +- Des casiers de lit actif et de lit passif Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Etude.etu.xml =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Etude.etu.xml (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Etude.etu.xml 2009-02-26 19:15:42 UTC (rev 4500) @@ -0,0 +1,199 @@ +<?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> + <Scenario NomRef="SCMod3"/> + </ScenarioCourant> + <Repertoires> + <Repertoire Nom="FICHETUDES">C:\DATA\Crue\Modele3\</Repertoire> + <Repertoire Nom="RUNS">C:\DATA\Crue\Modele3\Resultats\</Repertoire> + <Repertoire Nom="RAPPORTS">C:\DATA\Crue\Modele3\Rapports\</Repertoire> + </Repertoires> + <FichEtudes> + <OCAL Nom="SCMod3.ocal.xml" Chemin=".\" /> + <!-- Identidfiant unique dans tout l'espace étude, donc deux fichiers ne peuvent pas porter le même nom --> + <ORES Nom="SCMod3.ores.xml" Chemin=".\" /> + <PCAL Nom="SCMod3.pcal.xml" Chemin=".\" /> + <DCLM Nom="Modele3.dclm.xml" Chemin=".\" /> + <DLHY Nom="SCMod3.dlhy.xml" Chemin=".\" /> + <OPTR Nom="MOModele3.optr.xml" Chemin=".\" /> + <OPTG Nom="MOModele3.optg.xml" Chemin=".\" /> + <OPTI Nom="MOModele3.opti.xml" Chemin=".\" /> + <PNUM Nom="MOModele3.pnum.xml" Chemin=".\" /> + <DPTI Nom="MOModele3.dpti.xml" Chemin=".\" /> + <DRSO Nom="SModele3.drso.xml" Chemin=".\" /> + <DCSP Nom="SModele3.dcsp.xml" Chemin=".\" /> + <DPTG Nom="SModele3.dptg.xml" Chemin=".\" /> + <DFRT Nom="SModele3.dfrt.xml" Chemin=".\" /> + <DRSO Nom="SMMOModele3.drso.xml" Chemin=".\" /> + <DCSP Nom="SMMOModele3.dcsp.xml" Chemin=".\" /> + <DPTG Nom="SMMOModele3.dptg.xml" Chemin=".\" /> + <DFRT Nom="SMMOModele3.dfrt.xml" Chemin=".\" /> + <DRSO Nom="MO-2.drso.xml" Chemin=".\" /> + <DCSP Nom="MO-2.dcsp.xml" Chemin=".\" /> + <DPTG Nom="MO-2.dptg.xml" Chemin=".\" /> + <DFRT Nom="MO-2.dfrt.xml" Chemin=".\" /> + <DC Nom="Modele3.dc" Chemin=".\" /> + <DH Nom="Modele3.dh" Chemin=".\" /> + </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> + <DRSO NomRef="SModele3.drso.xml" /> + <DCSP NomRef="SModele3.dcsp.xml" /> + <DPTG NomRef="SModele3.dptg.xml" /> + <DFRT 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> + <DRSO NomRef="SMMOModele3.drso.xml" /> + <DCSP NomRef="SMMOModele3.dcsp.xml" /> + <DPTG NomRef="SMMOModele3.dptg.xml" /> + <DFRT 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> + <DRSO NomRef="MO-2.drso.xml" /> + <DCSP NomRef="MO-2.dcsp.xml" /> + <DPTG NomRef="MO-2.dptg.xml" /> + <DFRT 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> + <DC NomRef="Modele3.dc" /> + <DH 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> + <OPTR NomRef="MOModele3.optr.xml" /> + <OPTG NomRef="MOModele3.optg.xml" /> + <OPTI NomRef="MOModele3.opti.xml" /> + <PNUM NomRef="MOModele3.pnum.xml" /> + <DPTI NomRef="MOModele3.dpti.xml" /> + </FichEtudes> + <SousModeles> + <SousModele NomRef="SModele3" /> + <SousModele 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 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> + <OCAL NomRef="SCMod3.ocal.xml" /> + <!-- Un scénario est défini par 5 fichiers de niveau scénario et 1 à n modèles --> + <ORES NomRef="SCMod3.ores.xml" /> + <!-- Tous les fichiers utilisés par le scénario sont identifiés par leur nom dans l'espace etude --> + <PCAL NomRef="SCMod3.pcal.xml" /> + <DCLM NomRef="Modele3.dclm.xml" /> + <DLHY NomRef="SCMod3.dlhy.xml" /> + </FichEtudes> + <Modeles> + <Modele 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 NomRef="MOModele3"> + <RPTR Nom="MOModele3.rptr.xml" /> + <RPTG Nom="MOModele3.rptg.xml" /> + <RPTI Nom="MOModele3.rpti.xml" /> + <RCAL Nom="MOModele3.rcal.xml" /> + </Modele> + </Modeles> + </FichRuns> + </Run> + <Run Nom="20090211152047"> + <Commentaire>Un autre calcul lancé le 11 février</Commentaire> + <FichRuns> + <Modeles> + <Modele NomRef="MOModele3"> + <RPTR Nom="MOModele3.rptr.xml" /> + <RPTG Nom="MOModele3.rptg.xml" /> + <RPTI Nom="MOModele3.rpti.xml" /> + <RCAL Nom="MOModele3.rcal.xml" /> + </Modele> + </Modeles> + </FichRuns> + </Run> + </Runs> + <RunCourant> + <Run NomRef="20090211152047"/> + </RunCourant> + </Scenario> + </Scenarios> + <!-- <Comparaisons></Comparaisons --> +</ETU> \ No newline at end of file Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dcsp.xml =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dcsp.xml (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dcsp.xml 2009-02-26 19:15:42 UTC (rev 4500) @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="UTF-8"?> +<DCSP> + <!-- Le fichier DCSP contient les données nécessaires au calcul ne nécessitant aucun prétraitement (en particulier géométrique) d'un modèle CrueX. Son périmètre est le sous-modèle --> + <!-- Révision 0 le 04/02/2009 par PBa : écriture du fichier à la main --> + <VersionCrue>0.0</VersionCrue> <!-- Version du moteur Crue10 minimale requise --> + <Commentaire>Commentaire sur le sous-modèle</Commentaire> + + <Branches> + <BrancheSaintVenant NomRef="DRSO#B1"> + <CoefBeta>1.00</CoefBeta> <!-- valeur par défaut --> + <CoefRuisQdm>1.00</CoefRuisQdm> <!-- valeur par défaut --> + <CoefRuis>1.00</CoefRuis> <!-- valeur par défaut --> + <Sections> + <SectionProfil NomRef="DRSO#SPROF11"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionProfil> + <SectionInterpolee NomRef="DRSO#SB1_00050.0"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionInterpolee> + <SectionProfil NomRef="DRSO#SPROF10"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionProfil> + <SectionInterpolee NomRef="DRSO#SB1_00150.0"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionInterpolee> + <SectionProfil NomRef="DRSO#SPROF9"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionProfil> + <SectionInterpolee NomRef="DRSO#SB1_00250.0"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionInterpolee> + <SectionProfil NomRef="DRSO#SPROF8"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionProfil> + <SectionInterpolee NomRef="DRSO#SB1_00350.0"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionInterpolee> + <SectionProfil NomRef="DRSO#SPROF7"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionProfil> + <SectionInterpolee NomRef="DRSO#SB1_00450.0"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionInterpolee> + <SectionProfil NomRef="DRSO#SPROF6A"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionProfil> + </Sections> + </BrancheSaintVenant> + <BrancheSaintVenant NomRef="DRSO#B2"> + <CoefBeta>1.00</CoefBeta> + <CoefRuisQdm>1.00</CoefRuisQdm> + <CoefRuis>1.00</CoefRuis> + <Sections> + <SectionProfil NomRef="DRSO#SPROF6B"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionProfil> + <SectionInterpolee NomRef="DRSO#SPROF5"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionInterpolee> + <SectionProfil NomRef="DRSO#SPROF4"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionProfil> + <SectionProfil NomRef="DRSO#SPROF3A"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionProfil> + </Sections> + </BrancheSaintVenant> + <BrancheSeuilTransversal NomRef="DRSO#B3"> + <FormulePdc>Borda</FormulePdc> + <ElemSeuil> + <Larg>20.0</Larg> + <Zseuil>0.60</Zseuil> + <CoefD>0.90</CoefD> + <CoefPdc>1.00</CoefPdc> + </ElemSeuil> + <ElemSeuil> + <Larg>8.0</Larg> + <Zseuil>2.20</Zseuil> + <CoefD>0.90</CoefD> + <CoefPdc>1.00</CoefPdc> + </ElemSeuil> + </BrancheSeuilTransversal> + <BrancheSaintVenant NomRef="DRSO#B4"> + <CoefBeta>1.00</CoefBeta> + <CoefRuisQdm>1.00</CoefRuisQdm> + <CoefRuis>1.00</CoefRuis> + <Sections> + <SectionProfil NomRef="DRSO#SPROF3B"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionProfil> + <SectionProfil NomRef="DRSO#SPROF2"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionProfil> + <SectionProfil NomRef="DRSO#SPROF1"> + <CoefPond>0.50</CoefPond> + <CoefConv>0.00</CoefConv> + <CoefDiv>0.00</CoefDiv> + </SectionProfil> + </Sections> + </BrancheSaintVenant> + <BrancheSeuilLateral NomRef="DRSO#B5"> + <FormulePdc>Borda</FormulePdc> + <ElemSeuil> + <Larg>100.0</Larg> + <Zseuil>3.78</Zseuil> + <CoefD>0.90</CoefD> + <CoefPdc>1.00</CoefPdc> + </ElemSeuil> + <ElemSeuil> + <Larg>100.0</Larg> + <Zseuil>3.82</Zseuil> + <CoefD>0.90</CoefD> + <CoefPdc>1.00</CoefPdc> + </ElemSeuil> + </BrancheSeuilLateral> + <BrancheSeuilLateral NomRef="DRSO#B7"> + <FormulePdc>Divergent</FormulePdc> + <ElemSeuil> + <Larg>100.0</Larg> + <Zseuil>3.00</Zseuil> + <CoefD>1.00</CoefD> + <CoefPdc>1.00</CoefPdc> + </ElemSeuil> + </BrancheSeuilLateral> + <BrancheOrifice NomRef="DRSO#B8"> + <ElemOrifice> + <CoefCtrLim>0.65</CoefCtrLim> + <Larg>20.0</Larg> + <Zseuil>3.00</Zseuil> + <Haut>1.50</Haut> + <CoefD>0.90</CoefD> + <Sens>Bidirect</Sens> + </ElemOrifice> + </BrancheOrifice> + </Branches> +</DCSP> \ No newline at end of file Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dfrt.xml =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dfrt.xml (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dfrt.xml 2009-02-26 19:15:42 UTC (rev 4500) @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<DFRT> + <!-- Le fichier DFRT décrit les frottements d'un modèle CrueX. Son périmètre est le sous-modèle --> + <!-- Révision 0 le 03/02/2009 par PBa : écriture du fichier à la main --> + <VersionCrue>0.0</VersionCrue> <!-- Version du moteur Crue10 minimale requise --> + <Commentaire>Commentaire sur le sous-modèle</Commentaire> + + <StriRefC Nom="FK0">0.</StriRefC> + <StriRefZ Nom="FPROF1MAJ"> + <PointFF>0.00 15.</PointFF> <!-- Point Flottant-Flottant --> + <PointFF>10.00 15.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF1MIN"> + <PointFF>0.00 30.</PointFF> + <PointFF>10.00 30.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF2MAJ"> + <PointFF>0.00 15.</PointFF> + <PointFF>10.00 15.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF2MIN"> + <PointFF>0.00 30.</PointFF> + <PointFF>10.00 30.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF3AMAJ"> + <PointFF>0.00 15.</PointFF> + <PointFF>10.00 15.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF3AMIN"> + <PointFF>0.00 30.</PointFF> + <PointFF>10.00 30.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF3AVMAJ"> + <PointFF>0.00 15.</PointFF> + <PointFF>10.00 15.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF3AVMIN"> + <PointFF>0.00 30.</PointFF> + <PointFF>10.00 30.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF3BMAJ"> + <PointFF>0.00 15.</PointFF> + <PointFF>10.00 15.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF3BMIN"> + <PointFF>0.00 30.</PointFF> + <PointFF>10.00 30.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF4MAJ"> + <PointFF>0.00 15.</PointFF> + <PointFF>10.00 15.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF4MIN"> + <PointFF>0.00 30.</PointFF> + <PointFF>10.00 30.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF6AMAJ"> + <PointFF>0.00 15.</PointFF> + <PointFF>10.00 15.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF6AMIN"> + <PointFF>0.00 30.</PointFF> + <PointFF>10.00 30.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF7MAJ"> + <PointFF>0.00 15.</PointFF> + <PointFF>10.00 15.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF7MIN"> + <PointFF>0.00 30.</PointFF> + <PointFF>10.00 30.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF8MAJ"> + <PointFF>0.00 15.</PointFF> + <PointFF>10.00 15.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF8MIN"> + <PointFF>0.00 30.</PointFF> + <PointFF>10.00 30.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF9MAJ"> + <PointFF>0.00 15.</PointFF> + <PointFF>10.00 15.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF9MIN"> + <PointFF>0.00 30.</PointFF> + <PointFF>10.00 30.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF10MAJ"> + <PointFF>0.00 15.</PointFF> + <PointFF>10.00 15.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF10MIN"> + <PointFF>0.00 30.</PointFF> + <PointFF>10.00 30.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF11MAJ"> + <PointFF>0.00 15.</PointFF> + <PointFF>10.00 15.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROF11MIN"> + <PointFF>0.00 30.</PointFF> + <PointFF>11.00 30.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROFSTR1MIN"> + <PointFF>0.00 30.</PointFF> + <PointFF>11.00 30.</PointFF> + </StriRefZ> + <StriRefZ Nom="FPROFSTR2MIN"> + <PointFF>0.00 30.</PointFF> + <PointFF>11.00 30.</PointFF> + </StriRefZ> +</DFRT> \ No newline at end of file Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dlhy.xml =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dlhy.xml (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dlhy.xml 2009-02-26 19:15:42 UTC (rev 4500) @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<DLHY> + <!-- Le fichier DLHY décrit les lois hydrauliques de référence pour les conditions aux limites et les manoeuvres d'ouvrages d'un modèle CrueX. Son périmètre est le scénario --> + <!-- Révision 0 le 11/02/2009 par PBa : écriture du fichier à la main --> + <VersionCrue>0.0</VersionCrue> <!-- Version du moteur Crue10 minimale requise --> + <Commentaire>Commentaire sur le scénario</Commentaire> + + <Hydrogrammes> + <Hydrogramme Nom="HydrogrammeN1"> <!-- Nom unique, par exemple généré à partir du nom --> + <Nom>Hydrogramme N1</Nom> <!-- Nom donné par l'utilisateur. Par défaut, type de la loi et entité d'application --> + <VarAbscisse>Date</VarAbscisse> + <VarOrdonnee>Qapp</VarOrdonnee> + <SerieChronologique> + <PointDF>0 00 00 00 100.0</PointDF> <!-- Point Date-Flottant --> + <PointDF>0 01 00 00 100.0</PointDF> + <PointDF>0 03 00 00 125.0</PointDF> + <PointDF>0 04 00 00 150.0</PointDF> + <PointDF>0 05 00 00 200.0</PointDF> + <PointDF>0 07 00 00 400.0</PointDF> + <PointDF>0 09 00 00 450.0</PointDF> + <PointDF>0 11 00 00 480.0</PointDF> + <PointDF>0 12 00 00 500.0</PointDF> + <PointDF>0 13 00 00 480.0</PointDF> + <PointDF>0 15 00 00 450.0</PointDF> + <PointDF>0 17 00 00 400.0</PointDF> + <PointDF>0 19 00 00 200.0</PointDF> + <PointDF>0 20 00 00 150.0</PointDF> + <PointDF>0 21 00 00 125.0</PointDF> + <PointDF>0 23 00 00 100.0</PointDF> + <PointDF>0 24 00 00 100.0</PointDF> + </SerieChronologique> + </Hydrogramme> + <Hydrogramme Nom="HydrogrammeRuis1"> + <Nom>Hydrogramme Ruis 1</Nom> + <VarAbscisse>Date</VarAbscisse> + <VarOrdonnee>Qruis</VarOrdonnee> <!-- débit de ruissellement le long de l'axe hydraulique, en m2/s --> + <SerieChronologique> + <PointDF>0 00 00 00 0.0</PointDF> <!-- Point Date-Flottant --> + <PointDF>0 24 00 00 0.0</PointDF> + </SerieChronologique> + </Hydrogramme> + <Hydrogramme Nom="HydrogrammeRuis2"> + <Nom>Hydrogramme Ruis 2</Nom> + <VarAbscisse>Date</VarAbscisse> + <VarOrdonnee>Qruis</VarOrdonnee> <!-- débit de ruissellement le long de l'axe hydraulique, en m2/s --> + <SerieChronologique> + <PointDF>0 00 00 00 0.0</PointDF> <!-- Point Date-Flottant --> + <PointDF>0 24 00 00 0.0</PointDF> + </SerieChronologique> + </Hydrogramme> + </Hydrogrammes> + + <Limnigrammes> + <!-- Aucun ici --> + </Limnigrammes> + + <Tarrages> + <Tarrage Nom="TarrageN5"> + <Nom>Tarrage N5</Nom> + <VarAbscisse>Z</VarAbscisse> + <VarOrdonnee>Qapp</VarOrdonnee> + <Serie> + <PointFF>1.0 0.0</PointFF> <!-- Point Flottant-Flottant --> + <PointFF>1.5 -100.0</PointFF> + <PointFF>2.0 -150.0</PointFF> + <PointFF>2.5 -175.0</PointFF> + <PointFF>3.0 -200.0</PointFF> + <PointFF>3.5 -240.0</PointFF> + <PointFF>4.0 -300.0</PointFF> + <PointFF>4.5 -350.0</PointFF> + <PointFF>5.0 -400.0</PointFF> + <PointFF>5.5 -500.0</PointFF> + </Serie> + </Tarrage> + </Tarrages> + + <Manoeuvres> + <VannePasseDessous Nom="VannePasseDessousB8"> + <Nom>VannePasseDessous B8</Nom> + <VarAbscisse>Date</VarAbscisse> + <VarOrdonnee>OuvVersHaut</VarOrdonnee> + <SerieChronologique> + <PointDF>0 00 00 00 90.0</PointDF> <!-- Point Date-Flottant --> + <PointDF>0 05 00 00 90.0</PointDF> + <PointDF>0 06 00 00 50.0</PointDF> + <PointDF>0 24 00 00 100.0</PointDF> + </SerieChronologique> + </VannePasseDessous> + </Manoeuvres> +</DLHY> \ No newline at end of file Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dptg.xml =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dptg.xml (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modele 3/crue 10/Modele3.dptg.xml 2009-02-26 19:15:42 UTC (rev 4500) @@ -0,0 +1,774 @@ +<?xml version="1.0" encoding="UTF-8"?> +<DPTG> + <!-- Le fichier DPTG décrit les données nécessitant un prétraitement géométriques d'un modèle CrueX. Son périmètre est le sous-modèle --> + <!-- Révision 0 le 02/02/2009 par PBa: écriture du fichier à la main --> + <!-- Révision 1 le 03/02/2009 par JMB & PBa: introduction de ProfilIdemSection --> + <VersionCrue>0.0</VersionCrue> <!-- Version du moteur Crue10 minimale requise --> + <Commentaire>Commentaire sur le sous-modèle</Commentaire> + + <Branches> + <BrancheSaintVenant NomRef="DRSO#B1"> + <LongMineur>500.0</LongMineur> + </BrancheSaintVenant> + <BrancheSaintVenant NomRef="DRSO#B2"> + <LongMineur>300.0</LongMineur> + </BrancheSaintVenant> + <BrancheSaintVenant NomRef="DRSO#B4"> + <LongMineur>200.0</LongMineur> + </BrancheSaintVenant> + </Branches> + + <Sections> + <SectionIdem NomRef="DRSO#SPROF6B"> + <Dz>0.0</Dz> + </SectionIdem> + <SectionIdem NomRef="DRSO#SPROF3AM"> + <Dz>0.0</Dz> + </SectionIdem> + </Sections> + + <Geometries> + <ProfilSection Nom="PROF11"> + <Commentaire>Ceci est un commentaire optionnel sur le profil géométrique</Commentaire> + <Serie> + <PointFF>0.00 6.10</PointFF> <!-- Point Flottant-Flottant --> + <PointFF>2.00 5.10</PointFF> + <PointFF>32.00 4.10</PointFF> + <PointFF>62.00 3.10</PointFF> + <PointFF>66.00 1.10</PointFF> + <PointFF>86.00 1.10</PointFF> + <PointFF>90.00 3.10</PointFF> + <PointFF>120.00 4.10</PointFF> + <PointFF>150.00 5.10</PointFF> + <PointFF>152.00 6.10</PointFF> + </Serie> + <Lits> + <Lit> + <LimDeb>0.00 6.10</LimDeb> + <LimFin>32.00 4.10</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FK0"/> + </Lit> + <Lit> + <LimDeb>32.00 4.10</LimDeb> + <LimFin>62.00 3.10</LimFin> + <Nom>MajD</Nom> + <IsActif>True</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FPROF11MAJ"/> + </Lit> + <Lit> + <LimDeb>62.00 3.10</LimDeb> + <LimFin>90.00 3.10</LimFin> + <Nom>Mineur</Nom> + <IsActif>True</IsActif> + <IsMineur>True</IsMineur> + <Frot NomRef="DFRT#FPROF11MIN"/> + </Lit> + <Lit> + <LimDeb>90.00 3.10</LimDeb> + <LimFin>120.00 4.10</LimFin> + <Nom>MajG</Nom> + <IsActif>True</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FPROF11MAJ"/> + </Lit> + <Lit> + <LimDeb>120.00 4.10</LimDeb> + <LimFin>152.00 6.10</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FK0"/> + </Lit> + </Lits> + </ProfilSection> + <ProfilSection Nom="PROF10"> + <Serie> + <PointFF>0.00 6.00</PointFF> + <PointFF>2.00 5.00</PointFF> + <PointFF>32.00 4.00</PointFF> + <PointFF>62.00 3.00</PointFF> + <PointFF>66.00 1.00</PointFF> + <PointFF>86.00 1.00</PointFF> + <PointFF>90.00 3.00</PointFF> + <PointFF>120.00 4.00</PointFF> + <PointFF>150.00 5.00</PointFF> + <PointFF>152.00 6.00</PointFF> + </Serie> + <Lits> + <Lit> + <LimDeb>0.00 6.00</LimDeb> + <LimFin>32.00 4.00</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FK0"/> + </Lit> + <Lit> + <LimDeb>32.00 4.00</LimDeb> + <LimFin>62.00 3.00</LimFin> + <Nom>MajD</Nom> + <IsActif>True</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FPROF10MAJ"/> + </Lit> + <Lit> + <LimDeb>62.00 3.00</LimDeb> + <LimFin>90.00 3.00</LimFin> + <Nom>Mineur</Nom> + <IsActif>True</IsActif> + <IsMineur>True</IsMineur> + <Frot NomRef="DFRT#FPROF10MIN"/> + </Lit> + <Lit> + <LimDeb>90.00 3.00</LimDeb> + <LimFin>120.00 4.00</LimFin> + <Nom>MajG</Nom> + <IsActif>True</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FPROF10MAJ"/> + </Lit> + <Lit> + <LimDeb>120.00 4.00</LimDeb> + <LimFin>152.00 6.00</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FK0"/> + </Lit> + </Lits> + </ProfilSection> + <ProfilSection Nom="PROF9"> + <Serie> + <PointFF>0.00 5.90</PointFF> + <PointFF>2.00 4.90</PointFF> + <PointFF>32.00 3.90</PointFF> + <PointFF>62.00 2.90</PointFF> + <PointFF>66.00 0.90</PointFF> + <PointFF>86.00 0.90</PointFF> + <PointFF>90.00 2.90</PointFF> + <PointFF>120.00 3.90</PointFF> + <PointFF>150.00 4.90</PointFF> + <PointFF>152.00 5.90</PointFF> + </Serie> + <Lits> + <Lit> + <LimDeb>0.00 5.90</LimDeb> + <LimFin>32.00 3.90</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FK0"/> + </Lit> + <Lit> + <LimDeb>32.00 3.90</LimDeb> + <LimFin>62.00 2.90</LimFin> + <Nom>MajD</Nom> + <IsActif>True</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FPROF9MAJ"/> + </Lit> + <Lit> + <LimDeb>62.00 2.90</LimDeb> + <LimFin>90.00 2.90</LimFin> + <Nom>Mineur</Nom> + <IsActif>True</IsActif> + <IsMineur>True</IsMineur> + <Frot NomRef="DFRT#FPROF9MIN"/> + </Lit> + <Lit> + <LimDeb>90.00 2.90</LimDeb> + <LimFin>120.00 3.90</LimFin> + <Nom>MajG</Nom> + <IsActif>True</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FPROF9MAJ"/> + </Lit> + <Lit> + <LimDeb>120.00 3.90</LimDeb> + <LimFin>152.00 5.90</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FK0"/> + </Lit> + </Lits> + </ProfilSection> + <ProfilSection Nom="PROF8"> + <Serie> + <PointFF>0.00 5.80</PointFF> + <PointFF>2.00 4.80</PointFF> + <PointFF>32.00 3.80</PointFF> + <PointFF>62.00 2.80</PointFF> + <PointFF>66.00 0.80</PointFF> + <PointFF>86.00 0.80</PointFF> + <PointFF>90.00 2.80</PointFF> + <PointFF>120.00 3.80</PointFF> + <PointFF>150.00 4.80</PointFF> + <PointFF>152.00 5.80</PointFF> + </Serie> + <Lits> + <Lit> + <LimDeb>0.00 5.80</LimDeb> + <LimFin>32.00 3.80</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FK0"/> + </Lit> + <Lit> + <LimDeb>32.00 3.80</LimDeb> + <LimFin>62.00 2.80</LimFin> + <Nom>MajD</Nom> + <IsActif>True</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FPROF8MAJ"/> + </Lit> + <Lit> + <LimDeb>62.00 2.80</LimDeb> + <LimFin>90.00 2.80</LimFin> + <Nom>Mineur</Nom> + <IsActif>True</IsActif> + <IsMineur>True</IsMineur> + <Frot NomRef="DFRT#FPROF8MIN"/> + </Lit> + <Lit> + <LimDeb>90.00 2.80</LimDeb> + <LimFin>120.00 3.80</LimFin> + <Nom>MajG</Nom> + <IsActif>True</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FPROF8MAJ"/> + </Lit> + <Lit> + <LimDeb>120.00 3.80</LimDeb> + <LimFin>152.00 5.80</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FK0"/> + </Lit> + </Lits> + </ProfilSection> + <ProfilSection Nom="PROF7"> + <Serie> + <PointFF>0.00 5.70</PointFF> + <PointFF>2.00 4.70</PointFF> + <PointFF>32.00 3.70</PointFF> + <PointFF>62.00 2.70</PointFF> + <PointFF>66.00 0.70</PointFF> + <PointFF>86.00 0.70</PointFF> + <PointFF>90.00 2.70</PointFF> + <PointFF>120.00 3.70</PointFF> + <PointFF>150.00 4.70</PointFF> + <PointFF>152.00 5.70</PointFF> + </Serie> + <Lits> + <Lit> + <LimDeb>0.00 5.70</LimDeb> + <LimFin>32.00 3.70</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FK0"/> + </Lit> + <Lit> + <LimDeb>32.00 3.70</LimDeb> + <LimFin>62.00 2.70</LimFin> + <Nom>MajD</Nom> + <IsActif>True</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FPROF7MAJ"/> + </Lit> + <Lit> + <LimDeb>62.00 2.70</LimDeb> + <LimFin>90.00 2.70</LimFin> + <Nom>Mineur</Nom> + <IsActif>True</IsActif> + <IsMineur>True</IsMineur> + <Frot NomRef="DFRT#FPROF7MIN"/> + </Lit> + <Lit> + <LimDeb>90.00 2.70</LimDeb> + <LimFin>120.00 3.70</LimFin> + <Nom>MajG</Nom> + <IsActif>True</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FPROF7MAJ"/> + </Lit> + <Lit> + <LimDeb>120.00 3.70</LimDeb> + <LimFin>152.00 5.70</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FK0"/> + </Lit> + </Lits> + </ProfilSection> + <ProfilSection Nom="PROF6A"> + <Serie> + <PointFF>0.00 5.60</PointFF> + <PointFF>2.00 4.60</PointFF> + <PointFF>32.00 3.60</PointFF> + <PointFF>62.00 2.60</PointFF> + <PointFF>66.00 0.60</PointFF> + <PointFF>86.00 0.60</PointFF> + <PointFF>90.00 2.60</PointFF> + <PointFF>120.00 3.60</PointFF> + <PointFF>150.00 4.60</PointFF> + <PointFF>152.00 5.60</PointFF> + </Serie> + <Lits> + <Lit> + <LimDeb>0.00 5.60</LimDeb> + <LimFin>32.00 3.60</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FK0"/> + </Lit> + <Lit> + <LimDeb>32.00 3.60</LimDeb> + <LimFin>62.00 2.60</LimFin> + <Nom>MajD</Nom> + <IsActif>True</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FPROF6AMAJ"/> + </Lit> + <Lit> + <LimDeb>62.00 2.60</LimDeb> + <LimFin>90.00 2.60</LimFin> + <Nom>Mineur</Nom> + <IsActif>True</IsActif> + <IsMineur>True</IsMineur> + <Frot NomRef="DFRT#FPROF6AMIN"/> + </Lit> + <Lit> + <LimDeb>90.00 2.60</LimDeb> + <LimFin>120.00 3.60</LimFin> + <Nom>MajG</Nom> + <IsActif>True</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FPROF6AMAJ"/> + </Lit> + <Lit> + <LimDeb>120.00 3.60</LimDeb> + <LimFin>152.00 5.60</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FK0"/> + </Lit> + </Lits> + </ProfilSection> + <ProfilSection Nom="PROF4"> + <Serie> + <PointFF>0.00 5.40</PointFF> + <PointFF>2.00 4.40</PointFF> + <PointFF>32.00 3.40</PointFF> + <PointFF>62.00 2.40</PointFF> + <PointFF>66.00 0.40</PointFF> + <PointFF>86.00 0.40</PointFF> + <PointFF>90.00 2.40</PointFF> + <PointFF>120.00 3.40</PointFF> + <PointFF>150.00 4.40</PointFF> + <PointFF>152.00 5.40</PointFF> + <Serie> + <Lits> + <Lit> + <LimDeb>0.00 5.40</LimDeb> + <LimFin>32.00 3.40</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FK0"/> + </Lit> + <Lit> + <LimDeb>32.00 3.40</LimDeb> + <LimFin>62.00 2.40</LimFin> + <Nom>MajD</Nom> + <IsActif>True</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FPROF4MAJ"/> + </Lit> + <Lit> + <LimDeb>62.00 2.40</LimDeb> + <LimFin>90.00 2.40</LimFin> + <Nom>Mineur</Nom> + <IsActif>True</IsActif> + <IsMineur>True</IsMineur> + <Frot NomRef="DFRT#FPROF4MIN"/> + </Lit> + <Lit> + <LimDeb>90.00 2.40</LimDeb> + <LimFin>120.00 3.40</LimFin> + <Nom>MajG</Nom> + <IsActif>True</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FPROF4MAJ"/> + </Lit> + <Lit> + <LimDeb>120.00 3.40</LimDeb> + <LimFin>152.00 5.40</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef="DFRT#FK0"/> + </Lit> + </Lits> + </ProfilSection> + <ProfilSection Nom="PROF3A"> + <Serie> + <PointFF>0.00 5.30</PointFF> + <PointFF>2.00 4.30</PointFF> + <PointFF>32.00 3.30</PointFF> + <PointFF>62.00 2.30</PointFF> + <PointFF>66.00 0.30</PointFF> + <PointFF>86.00 0.30</PointFF> + <PointFF>90.00 2.30</PointFF> + <PointFF>120.00 3.30</PointFF> + <PointFF>150.00 4.30</PointFF> + <PointFF>152.00 5.30</PointFF> + </Serie> + <Lits> + <Lit> + <LimDeb>0.00 5.30</LimDeb> + <LimFin>32.00 3.30</LimFin> + <Nom>Stockage</Nom> + <IsActif>False</IsActif> + <IsMineur>False</IsMineur> + <Frot NomRef... [truncated message content] |
From: <had...@us...> - 2009-02-27 20:10:30
|
Revision: 4505 http://fudaa.svn.sourceforge.net/fudaa/?rev=4505&view=rev Author: hadouxad Date: 2009-02-27 20:10:26 +0000 (Fri, 27 Feb 2009) Log Message: ----------- * ?\195?\169criture compl?\195?\168te des donn?\195?\169es EMH (classes et interface): attention, ton fichier power amc est obsol?\195?\168te * ?\195?\169criture des attributs selon les donn?\195?\169es des fichiers (d?\195?\169crits dans le dictionnaire donn?\195?\169e) et rapport entre classe et fichier sur le mod?\195?\168le power amc. * Mise en place du syst?\195?\168me dao de persistance xml des donn?\195?\169es m?\195?\169tier: o CrueDaoParsing<T> : c'est une classe template qui accueille une structure m?\195?\169tier et la remplit/?\195?\169crit au format xml appropri?\195?\169. o DaoStructuresFormatDRSO : accueille toutes les structures interm?\195?\169diaires , les alias et les converter du parser pour g?\195?\169rer les donn?\195?\169es sous le m?\195?\170me format o CrueDaoFillInfos: remplit les informations persistantes ?\195?\160 partier des donn?\195?\169es m?\195?\169tier et inversement Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMH.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageFilEau.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageGenerique.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheEnchainement.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheNiveauxAssocies.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheOrifice.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBranchePdc.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSaintVenant.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilTransversal.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheStrickler.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHCasierMNT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHCasierProfil.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/writer/Crue10writer.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/projet/CrueScenario.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/.settings/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoOPTG.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/DaoStructuresFormatDRSO.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrt.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBarrageFilEau.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheOrifice.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBranchePDC.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSaintVenant.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilLateral.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilTransversal.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtSection.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonClimM.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonGeoLoc.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtCInitBranche.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtCInitBranchePdc.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtCInitNoeud.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtCInitSection.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtClInit.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeo.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoBrancheSaintVenant.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoCasierProfil.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtGeoSectionIdem.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonPrtSectionProfil.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageRhone.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilLongitudinale.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHNoeudNiveauContinu.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHSectionIdem.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHSectionInterpolee.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHSectionProfil.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHSectionSansGeometrie.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/ElemOrifice.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/ElemSeuil.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/ElemSeuilAvecPdc.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/Evolution.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/InfosEMH.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/LigneForce.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/LimAxeHydraulique.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/LitNomme.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/LitNumerote.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/Loi.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/ProfilCasier.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/PtProfil.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/ResCalcul.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtClinit.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeo.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeoCasier.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeoSection.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtReseau.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/StriRefC.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/StriRefH.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/StriRefZ.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/VariableOrdonnee.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/ZDeYprim.java Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/Branche.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CaractEMH.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/Casier.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilLateral.java Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,84 @@ +package main.java.org.fudaa.dodico.crue.dao; + +import java.awt.font.MultipleMaster; +import java.util.List; +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.converters.SingleValueConverter; +import com.thoughtworks.xstream.io.xml.DomDriver; +import main.java.org.fudaa.dodico.crue.metier.emh.EMH; + +/** + * Classe persistante qui reprend la meme structure que le fichier xml + * DRSO - Fichier des donn\xE9es du r\xE9seau (xml) + * @author Adrien Hadoux + * + */ +public class CrueDaoDRSO extends CrueDaoParsing<List<EMH>>{ + + //-- variables qui correspondent \xE0 celle du fichier xml --// + public String VersionCrue="10"; + public String Commentaire="G\xE9n\xE9r\xE9 par Fudaa "; + + /** + * la liste des noeuds + */ + private List Noeuds; + /** + * la liste des branches + */ + private List Branches; + + /** + * la liste des casiers + */ + private List Casiers; + + + /** + * la liste des sections + */ + private List Sections; + + @Override + public XStream initXmlParser(){ + XStream xstream = new XStream(new DomDriver()); + //-- initialisation du format de la structure des documents --// + (new DaoStructuresFormatDRSO()).initXmlParserForDRSO(xstream); + return xstream; + } + + @Override + public void fillInfosWith(List<EMH> data) { + + //-- etape 1: on remplit les infso des noeuds --// + Noeuds=CrueDaoFillInfos.remplirPersistanceAvecNoeudDRSO(data); + + //-- etape 2: on remplit les infso des branches --// + Branches=CrueDaoFillInfos.remplirPersistanceAvecBrancheDRSO(data); + + + //-- etape 3: on remplit les infso des casiers --// + Casiers=CrueDaoFillInfos.remplirPersistanceAvecCasierDRSO(data); + + + //-- etape 4: on remplit les infso des sections --// + Sections=CrueDaoFillInfos.remplirPersistanceAvecSectionsDRSO(data); + + + + + } + + @Override + public List<EMH> fillInfosWithPersistant() { + // TODO Auto-generated method stub + return null; + } + + + + + + + +} Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,212 @@ +package main.java.org.fudaa.dodico.crue.dao; + +import java.util.ArrayList; +import java.util.List; + +import com.lowagie.text.Section; + +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDRSO.*; +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; +import main.java.org.fudaa.dodico.crue.metier.emh.CatEMHSection; +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.EMHBrancheEnchainement; +import main.java.org.fudaa.dodico.crue.metier.emh.EMHBrancheNiveauxAssocies; +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.EMHBrancheStrickler; +import main.java.org.fudaa.dodico.crue.metier.emh.EMHCasierMNT; +import main.java.org.fudaa.dodico.crue.metier.emh.EMHCasierProfil; +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; + +/** + * Classe qui se charge de remplir les structures DAO avec els donn\xE9es m\xE9tier. + * @author Adrien Hadoux + * + */ +public class CrueDaoFillInfos { + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent la premiere partie du fichier DRSO: les Noeuds. + * @param data + * @return + */ + public static List remplirPersistanceAvecNoeudDRSO(List<EMH> data){ + List listePersistante=new ArrayList(); + for(EMH emh:data ){ + if(emh instanceof CatEMHNoeud){ + CatEMHNoeud noeud=(CatEMHNoeud) emh; + NoeudNiveauContinu noeudPersist=new NoeudNiveauContinu(); + noeudPersist.Nom=noeud.getNom(); + listePersistante.add(noeudPersist); + } + } + return listePersistante; + } + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent la deuxieme partie du fichier DRSO: les Branches. + * @param data + * @return + */ + public static List remplirPersistanceAvecBrancheDRSO(List<EMH> data){ + List listePersistante=new ArrayList(); + for(EMH emh:data ){ + if(emh instanceof CatEMHBranche){ + CatEMHBranche branche=(CatEMHBranche) emh; + Object branchePersist=null; + if (branche instanceof EMHBrancheBarrageFilEau) { + EMHBrancheBarrageFilEau new_name = (EMHBrancheBarrageFilEau) branche; + branchePersist=new BrancheBarrageFilEau(); + }else if (branche instanceof EMHBrancheBarrageGenerique) { + EMHBrancheBarrageGenerique new_name = (EMHBrancheBarrageGenerique) branche; + branchePersist=new BrancheBarrageGenerique(); + } + else if (branche instanceof EMHBrancheBarrageRhone) { + EMHBrancheBarrageRhone new_name = (EMHBrancheBarrageRhone) branche; + branchePersist=new BrancheBarrageRhone(); + }else if (branche instanceof EMHBrancheEnchainement) { + EMHBrancheEnchainement new_name = (EMHBrancheEnchainement) branche; + branchePersist=new BrancheEnchainement(); + }else if (branche instanceof EMHBrancheNiveauxAssocies) { + EMHBrancheNiveauxAssocies new_name = (EMHBrancheNiveauxAssocies) branche; + branchePersist=new BrancheNiveauxAssocies(); + }else if (branche instanceof EMHBrancheOrifice) { + EMHBrancheOrifice new_name = (EMHBrancheOrifice) branche; + branchePersist=new BrancheOrifice(); + }else if (branche instanceof EMHBranchePdc) { + EMHBranchePdc new_name = (EMHBranchePdc) branche; + branchePersist=new BranchePdc(); + }else if (branche instanceof EMHBrancheSaintVenant) { + EMHBrancheSaintVenant new_name = (EMHBrancheSaintVenant) branche; + branchePersist=new BrancheSaintVenant(); + }else if (branche instanceof EMHBrancheSeuilLongitudinale) { + EMHBrancheSeuilLongitudinale new_name = (EMHBrancheSeuilLongitudinale) branche; + branchePersist=new BrancheSeuilLateral(); + }else if (branche instanceof EMHBrancheSeuilTransversal) { + EMHBrancheSeuilTransversal new_name = (EMHBrancheSeuilTransversal) branche; + branchePersist=new BrancheSeuilTransversal(); + }else if (branche instanceof EMHBrancheStrickler) { + EMHBrancheStrickler new_name = (EMHBrancheStrickler) branche; + branchePersist=new BrancheStrickler(); + } + + + + if(branchePersist!=null){ + //-- commun --// + BrancheAbstract br=(BrancheAbstract) branchePersist; + br.Active=branche.isActive(); + br.Nom=branche.getNom(); + if(branche.getNoeudAmont()!=null) + br.NdAm=new NdAm(branche.getNoeudAmont().getNom()); + if(branche.getNoeudAval()!=null) + br.NdAv=new NdAm(branche.getNoeudAval().getNom()); + //-- on remplit les sections persistantes avec celle de la branche --// + br.Sections=CrueDaoFillInfos.remplirPersistanceAvecSectionsBrancheDRSO(branche.getListeSections()); + + listePersistante.add(br); + } + + } + } + return listePersistante; + } + + + public static List remplirPersistanceAvecCasierDRSO(List<EMH> data){ + List listePersistante=new ArrayList(); + for(EMH emh:data ){ + if(emh instanceof CatEMHCasier){ + CatEMHCasier casier=(CatEMHCasier)emh; + CasierAbstract casierPersist=null; + if(casier instanceof EMHCasierMNT){ + casierPersist=new CasierMNT(); + }else if(casier instanceof EMHCasierProfil){ + casierPersist= new CasierProfil(); + EMHCasierProfil casierProfil=(EMHCasierProfil) casier; + + ((CasierProfil)casierPersist).Profil= new ReferenceProfil(); + ((CasierProfil)casierPersist).Profil.NomRef=casierProfil.getNomProfil(); + } + //-- commun --// + if(casierPersist!=null){ + casierPersist.Active=casier.isActive(); + if(casier.getNoeud()!=null) + casierPersist.Noeud=new ReferenceNoeud(casier.getNoeud().getNom()); + casierPersist.Nom=casier.getNom(); + listePersistante.add(casierPersist); + } + + + } + } + + return listePersistante; + } + + + /** + * Remplit les don\xE9nes persistantes avec la liste des sections . + * @param data + * @return + */ + public static List remplirPersistanceAvecSectionsDRSO(List<EMH> data){ + List listePersistante=new ArrayList(); + for(EMH emh:data ){ + if(emh instanceof CatEMHSection){ + CatEMHSection section=(CatEMHSection)emh; + 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(); + } + + //-- commun --// + if(sectionPersist!=null){ + sectionPersist.NomRef=section.getNom(); + sectionPersist.Pos=section.getPosition(); + sectionPersist.Xp=section.getXp(); + + listePersistante.add(sectionPersist); + } + + } + + + } + + return listePersistante; + } + + + /** + * Remplit les don\xE9nes persistantes avec la liste des sections d'une branche. + * @param data + * @return + */ + public static List remplirPersistanceAvecSectionsBrancheDRSO(List<CatEMHSection> data){ + return null; + } + +} Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoOPTG.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoOPTG.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoOPTG.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,75 @@ +package main.java.org.fudaa.dodico.crue.dao; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.ObjectOutputStream; + +import main.java.org.fudaa.dodico.crue.metier.emh.ElemSeuil; + +import org.fudaa.ebli.courbe.EGAxeHorizontalPersist; +import org.fudaa.ebli.courbe.EGAxeVerticalPersist; +import org.fudaa.ebli.courbe.EGCourbePersist; +import org.fudaa.ebli.courbe.EGGroupPersist; + +import com.memoire.fu.FuLog; +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.DomDriver; + +/** + * Classe persistante qui reprend la meme structure que le fichier xml + * OPTG - Fichier des ordres pour le pr\xE9traitement g\xE9om\xE9trique (xml). + * + * Cela permettra de persister plus facilement la donn\xE9e via xstream + * @author Adrien Hadoux + * + */ +public class CrueDaoOPTG extends CrueDaoParsing<ElemSeuil>{ + + String VersionCrue; + String Commentaire; + double RegleProfPlat; + double ReglePenteRupture; + double RegleDecal; + double RegleLargSeuil; + double ReglePdxMax; + double RegleVarPdxMax; + double ReglePenteMax; + + /** + * Prend en parametre un objet m\xE9tier correspondant: + */ + public CrueDaoOPTG(ElemSeuil element){ + //-- appel a fillInfosWith --// + fillInfosWith(element); + } + + + public XStream initXmlParser(){ + XStream xstream = new XStream(new DomDriver()); + //-- creation des alias pour que ce soit + parlant dans le xml file --// + xstream.alias("OPTG", CrueDaoOPTG.class); + return xstream; + } + + + + public void fillInfosWith(ElemSeuil data) { + // TODO Auto-generated method stub + + } + + public ElemSeuil fillInfosWithPersistant() { + // TODO Auto-generated method stub + return null; + } + + + + + + + + + +} Added: 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 (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoParsing.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,110 @@ +package main.java.org.fudaa.dodico.crue.dao; + +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; + +import main.java.org.fudaa.dodico.crue.metier.emh.ElemSeuil; + +import com.memoire.fu.FuLog; +import com.thoughtworks.xstream.XStream; + +/** + * classe dao parsing qui propose et impose les m\xE9thode utiles pour simplifier le parsing xml des donn\xE9es. + * utilise le template T qui repr\xE9sente la classe \xE0 persister. + * @author Adrien Hadoux + * + */ +public abstract class CrueDaoParsing<T> { + + + /** + * Initiazlise le parser xstream avec les bons alias des noms de balises. + * @return + */ + abstract XStream initXmlParser(); + + /** + * Remplit les infos de la classe persistantesq avec les donn\xE9es m\xE9tier appropri\xE9es. + * Cette m\xE9thode est appel\xE9e dans le constructeur. + * @param data + */ + abstract void fillInfosWith(T data); + + /** + * Cr\xE9e une structure m\xE9tier \xE0 partir des informations persistantes. + * Utiliser poru le remplissage de la structure m\xE9tier apr\xE8s lecture du fichier xml. + * @return + */ + abstract T fillInfosWithPersistant(); + + /** + * Execute la persistance des donn\xE9es dans le fichier donn\xE9 en parametre. + * @return + */ + public boolean persistData(File fichier) { + boolean isOk=true; + ObjectOutputStream out=null; + try { + out = initXmlParser().createObjectOutputStream(new FileWriter(fichier)); + //--on enregistre la donn\xE9e au bon format --// + out.writeObject(this); + } catch (IOException e) { + // TODO Auto-generated catch block + FuLog.debug(e.getMessage()); + isOk=false; + } + finally{ + try { + out.close(); + return isOk; + } catch (IOException e) { + // TODO Auto-generated catch block + FuLog.debug(e.getMessage()); + } + } + return false; + } + + /** + * R\xE9cup\xE8re la donn\xE9e m\xE9tier a partir de la donn\xE9e persistante. + * @param fichier + * @return + */ + public T getPersistData(File fichier){ + //-- la data a r\xE9cup\xE9rer --// + T newData=null; + boolean isOk=true; + ObjectInputStream in=null; + try { + in = initXmlParser().createObjectInputStream(new FileReader(fichier)); + //--on charge la donn\xE9e persistante au bon format --// + CrueDaoParsing<T> dataPersistante=(CrueDaoParsing<T>) in.readObject(); + + //-- on genere la donn\xE9es m\xE9tier a partir de la donnee persistante--// + newData=dataPersistante.fillInfosWithPersistant(); + } catch (IOException e) { + // TODO Auto-generated catch block + FuLog.debug(e.getMessage()); + isOk=false; + } catch (ClassNotFoundException e) { + // TODO Auto-generated catch block + FuLog.debug(e.getMessage()); + isOk=false; + } + finally{ + try { + in.close(); + return newData; + } catch (IOException e) { + // TODO Auto-generated catch block + FuLog.debug(e.getMessage()); + } + } + return null; + } + +} Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDRSO.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDRSO.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDRSO.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,474 @@ +package main.java.org.fudaa.dodico.crue.dao; + + + +import java.util.List; + +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.converters.SingleValueConverter; +import com.thoughtworks.xstream.io.xml.DomDriver; + + +/** + * Toutes les structures dao utilis\xE9es et les inits du parser xml pour le format DRSO. + * Toutes ces structures sont n\xE9cessaires pour bien formatter le contenu xml. + * @author Adrien Hadoux + * + */ +public class DaoStructuresFormatDRSO { + + + /** + * init le parser xml avec toutes les converters et alias n\xE9cessaires + * @return + */ + public void initXmlParserForDRSO(XStream xstream ){ + //-- creation des alias pour que ce soit + parlant dans le xml file --// + xstream.alias("DRSO", CrueDaoDRSO.class); + //-- liste des initialisations n\xE9cessaires pour le formattage des donn\xE9es--// + initXmlParserNode(xstream); + initXmlParserBranche(xstream); + initXmlParserCasier(xstream); + initXmlParserSection(xstream); + + + + + } + + /** + * init parser pour les nodes et pouvoir mettre l'attribut Nom en d\xE9but de balise. + * @param xstream + */ + public void initXmlParserNode(XStream xstream ){ + //-- alias gestion pour les noeuds --// + 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"); + xstream.registerConverter(new NoeudNiveauContinuConverter()); + } + + /** + * Init le parser avec les infos des branches. + * @param xstream + */ + public void initXmlParserBranche(XStream xstream ){ + //-- gestion des branches --// + xstream.alias("BrancheSaintVenant", BrancheSaintVenant.class); + xstream.alias("BrancheSeuilLateral", BrancheSeuilLateral.class); + xstream.alias("BrancheStrickler", BrancheStrickler.class); + xstream.alias("BrancheOrifice", BrancheOrifice.class); + xstream.alias("BrancheSeuilTransversal", BrancheSeuilTransversal.class); + xstream.alias("BrancheBarrageFilEau", BrancheBarrageFilEau.class); + xstream.alias("BranchePdc", BranchePdc.class); + + + //-- mettre attribut Nom comme attribut de la balise branche,noeud et section et son converter appropri\xE9 --// + + + //-- mettre le nom de la branche dans la balise --// + xstream.useAttributeFor(BrancheSaintVenant.class, "Nom"); + xstream.registerConverter(new BrancheSaintVenantConverter()); + + xstream.useAttributeFor(BrancheSeuilLateral.class, "Nom"); + xstream.registerConverter(new BrancheSeuilLateralConverter()); + + xstream.useAttributeFor(BrancheStrickler.class, "Nom"); + xstream.registerConverter(new BrancheStricklerConverter()); + + xstream.useAttributeFor(BrancheOrifice.class, "Nom"); + xstream.registerConverter(new BrancheOrificeConverter()); + + xstream.useAttributeFor(BrancheSeuilTransversal.class, "Nom"); + xstream.registerConverter(new BrancheSeuilTransversalConverter()); + + xstream.useAttributeFor(BrancheBarrageFilEau.class, "Nom"); + xstream.registerConverter(new BrancheBarrageFilEauConverter()); + + xstream.useAttributeFor(BranchePdc.class, "Nom"); + xstream.registerConverter(new BranchePdcConverter()); + + xstream.useAttributeFor(BrancheBarrageGenerique.class, "Nom"); + xstream.registerConverter(new BrancheBarrageGeneriqueConverter()); + + xstream.useAttributeFor(BrancheBarrageRhone.class, "Nom"); + xstream.registerConverter(new BrancheBarrageRhoneConverter()); + + xstream.useAttributeFor(BrancheEnchainement.class, "Nom"); + xstream.registerConverter(new BrancheEnchainementConverter()); + + xstream.useAttributeFor(BrancheNiveauxAssocies.class, "Nom"); + xstream.registerConverter(new BrancheNiveauxAssociesConverter()); + + //-- gestion des noeuds des branches --// + xstream.alias("NdAm", NdAm.class); + xstream.alias("NdAv", NdAv.class); + xstream.useAttributeFor(NdAm.class, "NomRef"); + xstream.registerConverter(new NdAmConverter()); + xstream.useAttributeFor(NdAv.class, "NomRef"); + xstream.registerConverter(new NdAvConverter()); + + + + } + + /** + * Init le parser avec les infos des casiers. + * @param xstream + */ + public void initXmlParserCasier(XStream xstream ){ + xstream.alias("CasierProfil", CasierProfil.class); + xstream.alias("CasierMNT", CasierMNT.class); + xstream.alias("Profil",ReferenceProfil.class); + xstream.alias("Noeud", ReferenceNoeud.class); + + xstream.useAttributeFor(CasierProfil.class, "Nom"); + xstream.registerConverter(new CasierProfilConverter()); + + xstream.useAttributeFor(CasierMNT.class, "Nom"); + xstream.registerConverter(new CasierMNTConverter()); + + xstream.useAttributeFor(ReferenceProfil.class, "NomRef"); + xstream.registerConverter(new ReferenceProfilConverter()); + + + //-- alias et converter du noeud referenc\xE9 --// + xstream.useAttributeFor(ReferenceNoeud.class, "NomRef"); + xstream.registerConverter(new ReferenceNoeudConverter()); + + } + + /** + * Init le parser avec les infos des sections. + * @param xstream + */ + public void initXmlParserSection(XStream xstream ){ + //-- gestion des sections --// + xstream.alias("SectionIdem", SectionIdem.class); + xstream.alias("SectionSansGeometrie", SectionSansGeometrie.class); + xstream.alias("SectionProfil", SectionProfil.class); + xstream.alias("SectionInterpolee", SectionInterpolee.class); + xstream.alias("SectionPilote", SectionPilote.class); + + xstream.useAttributeFor(SectionIdem.class, "NomRef"); + xstream.registerConverter(new SectionIdemConverter()); + + xstream.useAttributeFor(SectionSansGeometrie.class, "NomRef"); + xstream.registerConverter(new SectionSansGeometrieConverter()); + + xstream.useAttributeFor(SectionProfil.class, "NomRef"); + xstream.registerConverter(new SectionProfilConverter()); + + xstream.useAttributeFor(SectionInterpolee.class, "NomRef"); + xstream.registerConverter(new SectionInterpoleeConverter()); + + + xstream.useAttributeFor(SectionPilote.class, "NomRef"); + xstream.registerConverter(new SectionPiloteConverter()); + } + + + /** + * Element possible qui soit persist\xE9 dans la liste de noeuds + */ + public static class NoeudNiveauContinu{ + public String Nom; + } + + /** + * Il faut cr\xE9er et ajouter ce converter pour inclure le nom du noeud niveau continu dans le fichier xml + */ + public class NoeudNiveauContinuConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((NoeudNiveauContinu) obj).Nom; + } + public Object fromString(String name) { + NoeudNiveauContinu n=new NoeudNiveauContinu(); + n.Nom=name; + return n; + } + public boolean canConvert(Class type) { + return type.equals(NoeudNiveauContinu.class); + } + } + + //*************************GESTION DES BRANCHES ************************* + + /** + * Element branche possible + * @author Adrien Hadoux + * + */ + public static class BrancheAbstract{ + public String Nom; + public boolean Active; + public ReferenceNoeud NdAm; + public ReferenceNoeud NdAv; + List Sections; + } + + + public static class BrancheSaintVenant extends BrancheAbstract{} + public static class BrancheSeuilLateral extends BrancheAbstract{} + public static class BrancheStrickler extends BrancheAbstract{} + public static class BrancheOrifice extends BrancheAbstract{} + public static class BrancheSeuilTransversal extends BrancheAbstract{} + public static class BrancheBarrageFilEau extends BrancheAbstract{} + public static class BranchePdc extends BrancheAbstract{} + + public static class BrancheBarrageGenerique extends BrancheAbstract{} + public static class BrancheBarrageRhone extends BrancheAbstract{} + public static class BrancheEnchainement extends BrancheAbstract{} + public static class BrancheNiveauxAssocies extends BrancheAbstract{} + /** + * le converter abstract pour les branches. + * Il faudra ensuite en d\xE9clarer un pour chaque type de branche afin de cr\xE9er le bon type de modele. + * @author Adrien Hadoux + * + */ + public abstract class BrancheConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((BrancheAbstract) obj).Nom; + } + public abstract Object fromString(String name); + public boolean canConvert(Class type) { + return type.isInstance(BrancheAbstract.class); + }} + + + + + public class BrancheSaintVenantConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheSaintVenant branche=new BrancheSaintVenant(); + branche.Nom=name; + return branche;}} + public class BrancheSeuilLateralConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheSeuilLateral branche=new BrancheSeuilLateral(); + branche.Nom=name; + return branche;}} + + public class BrancheStricklerConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheStrickler branche=new BrancheStrickler(); + branche.Nom=name; + return branche;}} + + public class BrancheOrificeConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheOrifice branche=new BrancheOrifice(); + branche.Nom=name; + return branche;}} + + public class BrancheSeuilTransversalConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheSeuilTransversal branche=new BrancheSeuilTransversal(); + branche.Nom=name; + return branche;}} + + public class BrancheBarrageFilEauConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheBarrageFilEau branche=new BrancheBarrageFilEau(); + branche.Nom=name; + return branche;}} + + public class BranchePdcConverter extends BrancheConverter { + public Object fromString(String name) { + BranchePdc branche=new BranchePdc(); + branche.Nom=name; + return branche;}} + + public class BrancheBarrageGeneriqueConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheBarrageGenerique branche=new BrancheBarrageGenerique(); + branche.Nom=name; + return branche;}} + + public class BrancheBarrageRhoneConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheBarrageRhone branche=new BrancheBarrageRhone(); + branche.Nom=name; + return branche;}} + + public class BrancheEnchainementConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheEnchainement branche=new BrancheEnchainement(); + branche.Nom=name; + return branche;}} + + public class BrancheNiveauxAssociesConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheNiveauxAssocies branche=new BrancheNiveauxAssocies(); + branche.Nom=name; + return branche;}} + + + public static class ReferenceNoeud{ + public String NomRef; + + public ReferenceNoeud(String nomRef) { + NomRef = nomRef; + } + + } + + public static class NdAm extends ReferenceNoeud{ + + public NdAm(String nomRef) { + super(nomRef); + // TODO Auto-generated constructor stub + }} + public static class NdAv extends ReferenceNoeud{ + + public NdAv(String nomRef) { + super(nomRef); + // TODO Auto-generated constructor stub + }} + + public class ReferenceNoeudConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((ReferenceNoeud) obj).NomRef; + } + public Object fromString(String name) { + ReferenceNoeud n=new ReferenceNoeud(name); + + return n; } + public boolean canConvert(Class type) { + return type.isInstance(ReferenceNoeud.class); } + } + public class NdAmConverter extends ReferenceNoeudConverter{ + public Object fromString(String name) { + NdAm n=new NdAm(name); + + return n; }} + public class NdAvConverter extends ReferenceNoeudConverter{ + public Object fromString(String name) { + NdAv n=new NdAv(name); + + return n; }} + //-- gestion des sections --// + /** + * Elementsection qui se trouve dans branche, + * dispose d'une reference positionnee dans la balise de d\xE9but. + * @author Adrien Hadoux + * Pos: position. + * + */ + public static class SectionBrancheAbstract{ + public String NomRef; + public String Pos; + public double Xp; + + } + public static class SectionIdem extends SectionBrancheAbstract{} + public static class SectionInterpolee extends SectionBrancheAbstract{} + public static class SectionProfil extends SectionBrancheAbstract{} + public static class SectionSansGeometrie extends SectionBrancheAbstract{} + public static class SectionPilote extends SectionBrancheAbstract{} + /** + * le converter abstract pour les sections dans branche. + * Il faudra ensuite en d\xE9clarer un pour chaque type de section afin de cr\xE9er le bon type de modele. + * @author Adrien Hadoux + * + */ + public abstract class SectionBrancheConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((SectionBrancheAbstract) obj).NomRef; + } + public abstract Object fromString(String name); + public boolean canConvert(Class type) { + return type.isInstance(SectionBrancheAbstract.class); + }} + public class SectionIdemConverter extends SectionBrancheConverter{ + public Object fromString(String name) { + SectionIdem section=new SectionIdem(); + section.NomRef=name; + return section;}} + + public class SectionInterpoleeConverter extends SectionBrancheConverter{ + public Object fromString(String name) { + SectionInterpolee section=new SectionInterpolee(); + section.NomRef=name; + return section;}} + + public class SectionProfilConverter extends SectionBrancheConverter{ + public Object fromString(String name) { + SectionProfil section=new SectionProfil(); + section.NomRef=name; + return section;}} + + public class SectionSansGeometrieConverter extends SectionBrancheConverter{ + public Object fromString(String name) { + SectionSansGeometrie section=new SectionSansGeometrie(); + section.NomRef=name; + return section;}} + + public class SectionPiloteConverter extends SectionBrancheConverter{ + public Object fromString(String name) { + SectionPilote section=new SectionPilote(); + section.NomRef=name; + return section;}} + + + //*************************GESTION DES CASIERS ************************* + public static class CasierAbstract{ + public String Nom; + public boolean Active; + public ReferenceNoeud Noeud; + + } + /** + * la classe profil de casier inclus dans le CasierProfil. + * @author Adrien Hadoux + * + */ + public static class ReferenceProfil { + public String NomRef; + } + public static class ReferenceProfilConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((ReferenceProfil) obj).NomRef; } + public Object fromString(String name){ + ReferenceProfil pf=new ReferenceProfil(); + pf.NomRef=name; + return pf; + } + public boolean canConvert(Class type) { + return type.isInstance(ReferenceProfil.class); + }} + + public static class CasierProfil extends CasierAbstract{ + public ReferenceProfil Profil; + } + public static class CasierMNT extends CasierAbstract{} + + public abstract class CasierAbstractConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((CasierAbstract) obj).Nom; } + public abstract Object fromString(String name); + public boolean canConvert(Class type) { + return type.isInstance(CasierAbstract.class); + }} + public class CasierProfilConverter extends CasierAbstractConverter { + public Object fromString(String name){ + CasierProfil casier=new CasierProfil(); + casier.Nom=name; + return casier; } } + + public class CasierMNTConverter extends CasierAbstractConverter { + public Object fromString(String name){ + CasierMNT casier=new CasierMNT(); + casier.Nom=name; + return casier; } } + + + //*************************GESTION DES SECTIONS ************************* + public class ReferenceSection { + public String Nom; + } + + + +} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/Branche.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/Branche.java 2009-02-27 08:41:57 UTC (rev 4504) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/Branche.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -1,25 +0,0 @@ -package main.java.org.fudaa.dodico.crue.metier.emh; - -/** - * Interface branche - * - * peut etre: - * - * EMHBranchePdc Branche 1: perte de charge singuli\xE8re - * EMHBrancheSeuilTransversal Branche 2: seuil avec prise en compte de la charge dynamique - * EMHBrancheSeuilLateral Branche 4: seuil sans prise en compte de la charge dynamique - * EMHBrancheOrifice Branche 5: orifice, clapet, vanne - * EMHBrancheStrickler Branche 6: loi d'\xE9coulement de Manning-Strickler - * EMHBrancheBarrageGenerique Branche 14: ouvrage suivant une consigne fonction d'un d\xE9bit ailleurs, ou noy\xE9 (loi pt par pt) - * EMHBrancheBarrageFilEau Branche 15: barrage suivant une consigne fonction d'un d\xE9bit ailleurs, ou noy\xE9 (De Marchi) - * EMHBrancheSaintVenant Branche 20: loi d'\xE9coulement de Saint-Venant - * EMHBrancheNiveauxAssocies Branche 12: vanne \xE0 niveaux associ\xE9s - * EMHBrancheEnchainement Liaison entre n\x9Cuds appartenant \xE0 des mod\xE8les diff\xE9rents dans le but d'un encha\xEEnement - * - * - * @author Adrien Hadoux - * - */ -public interface Branche { - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CaractEMH.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CaractEMH.java 2009-02-27 08:41:57 UTC (rev 4504) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CaractEMH.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -1,13 +0,0 @@ -package main.java.org.fudaa.dodico.crue.metier.emh; - -/** - * Caract\xE9ristique EMH contenue dans EMH. - * Cat\xE9gorie d'une Entit\xE9 de Mod\xE9lisation Hydraulique : - * Branche, N\x9Cud, Section, Casier (les 4 cat\xE9gories d'EMH manipul\xE9es par le c\x9Cur de calcul) ou Ensemble (sc\xE9nario, mod\xE8le, sous-mod\xE8le, pour une vision utilisateur). - - * @author Adrien Hadoux - * - */ -public interface CaractEMH { - -} Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/Casier.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/Casier.java 2009-02-27 08:41:57 UTC (rev 4504) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/Casier.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -1,5 +0,0 @@ -package main.java.org.fudaa.dodico.crue.metier.emh; - -public abstract class Casier implements CaractEMH{ - -} Copied: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java (from rev 4500, branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/Branche.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,74 @@ +package main.java.org.fudaa.dodico.crue.metier.emh; + +import java.util.List; + +/** + * Interface branche + * + * peut etre: + * + * EMHBranchePdc Branche 1: perte de charge singuli\xE8re + * EMHBrancheSeuilTransversal Branche 2: seuil avec prise en compte de la charge dynamique + * EMHBrancheSeuilLateral Branche 4: seuil sans prise en compte de la charge dynamique + * EMHBrancheOrifice Branche 5: orifice, clapet, vanne + * EMHBrancheStrickler Branche 6: loi d'\xE9coulement de Manning-Strickler + * EMHBrancheBarrageGenerique Branche 14: ouvrage suivant une consigne fonction d'un d\xE9bit ailleurs, ou noy\xE9 (loi pt par pt) + * EMHBrancheBarrageFilEau Branche 15: barrage suivant une consigne fonction d'un d\xE9bit ailleurs, ou noy\xE9 (De Marchi) + * EMHBrancheSaintVenant Branche 20: loi d'\xE9coulement de Saint-Venant + * EMHBrancheNiveauxAssocies Branche 12: vanne \xE0 niveaux associ\xE9s + * EMHBrancheEnchainement Liaison entre n\x9Cuds appartenant \xE0 des mod\xE8les diff\xE9rents dans le but d'un encha\xEEnement + * + * + * @author Adrien Hadoux + * + */ +public class CatEMHBranche extends EMH{ + private boolean isActive_; + private List<CatEMHSection> listeSections_; + private CatEMHNoeud noeudAmont_; + private CatEMHNoeud noeudAval_; + private String nom; + + + + public List<CatEMHSection> getListeSections() { + return listeSections_; + } + + public void setListeSections(List<CatEMHSection> listeSections) { + this.listeSections_ = listeSections; + } + + public boolean isActive() { + return isActive_; + } + + public void setActive(boolean isActive) { + this.isActive_ = isActive; + } + + public CatEMHNoeud getNoeudAmont() { + return noeudAmont_; + } + + public void setNoeudAmont(CatEMHNoeud noeudAmont) { + this.noeudAmont_ = noeudAmont; + } + + public CatEMHNoeud getNoeudAval() { + return noeudAval_; + } + + public void setNoeudAval(CatEMHNoeud noeudAval) { + this.noeudAval_ = noeudAval; + } + + public String getNom() { + return nom; + } + + public void setNom(String nom) { + this.nom = nom; + } + +} Property changes on: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java ___________________________________________________________________ Added: svn:mergeinfo + Copied: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java (from rev 4500, branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/Casier.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,36 @@ +package main.java.org.fudaa.dodico.crue.metier.emh; +/** + * + * @author Adrien Hadoux + * + */ +public abstract class CatEMHCasier extends EMH{ +private boolean isActive_; +private CatEMHNoeud noeud_; +private String nom_; + + +public String getNom() { + return nom_; +} + +public void setNom(String nom) { + this.nom_ = nom; +} + +public boolean isActive() { + return isActive_; +} + +public void setActive(boolean isActive) { + this.isActive_ = isActive; +} + +public CatEMHNoeud getNoeud() { + return noeud_; +} + +public void setNoeud(CatEMHNoeud noeud) { + this.noeud_ = noeud; +} +} Property changes on: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java ___________________________________________________________________ Added: svn:mergeinfo + Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,19 @@ +package main.java.org.fudaa.dodico.crue.metier.emh; + +/** + * + * @author Adrien Hadoux + * + */ +public class CatEMHNoeud extends EMH{ + String nom_; + + public String getNom() { + return nom_; + } + + public void setNom(String nom) { + this.nom_ = nom; + } +} + Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,32 @@ +package main.java.org.fudaa.dodico.crue.metier.emh; + + +/** + * la classe section. + * @author Adrien Hadoux + * + */ +public class CatEMHSection extends EMH{ + String position; + double xp; + String nom; + + public String getNom() { + return nom; + } + public void setNom(String nom) { + this.nom = nom; + } + public String getPosition() { + return position; + } + public void setPosition(String position) { + this.position = position; + } + public double getXp() { + return xp; + } + public void setXp(double xp) { + this.xp = xp; + } +} Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrt.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrt.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrt.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,9 @@ +package main.java.org.fudaa.dodico.crue.metier.emh; +/** + * + * @author Adrien Hadoux + * + */ +public interface DonCalcSansPrt extends InfosEMH{ + +} Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBarrageFilEau.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBarrageFilEau.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBarrageFilEau.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,42 @@ +package main.java.org.fudaa.dodico.crue.metier.emh; + +import java.util.List; + +/** + * + * @author Adrien Hadoux + * + */ +public class DonCalcSansPrtBarrageFilEau implements DonCalcSansPrt { + + private double QLimInf; + private double QLimSup; + private Loi regimeDenove_Zam; + private List<ElemSeuil> listElt; + + public List<ElemSeuil> getListElt() { + return listElt; + } + public void setListElt(List<ElemSeuil> listElt) { + this.listElt = listElt; + } + public double getQLimInf() { + return QLimInf; + } + public void setQLimInf(double limInf) { + QLimInf = limInf; + } + public double getQLimSup() { + return QLimSup; + } + public void setQLimSup(double limSup) { + QLimSup = limSup; + } + public Loi getRegimeDenove_Zam() { + return regimeDenove_Zam; + } + public void setRegimeDenove_Zam(Loi regimeDenove_Zam) { + this.regimeDenove_Zam = regimeDenove_Zam; + } + +} Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheOrifice.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheOrifice.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheOrifice.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,19 @@ +package main.java.org.fudaa.dodico.crue.metier.emh; +/** + * + * @author Adrien Hadoux + * + */ +public class DonCalcSansPrtBrancheOrifice implements DonCalcSansPrt { + private ElemOrifice element; + + public ElemOrifice getElement() { + return element; + } + + public void setElement(ElemOrifice element) { + this.element = element; + } + + +} Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBranchePDC.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBranchePDC.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBranchePDC.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,18 @@ +package main.java.org.fudaa.dodico.crue.metier.emh; +/** + * + * @author Adrien Hadoux + * + */ +public class DonCalcSansPrtBranchePDC implements DonCalcSansPrt { + private Loi pdc_DZ; + + public Loi getPdc_DZ() { + return pdc_DZ; + } + + public void setPdc_DZ(Loi pdc_DZ) { + this.pdc_DZ = pdc_DZ; + } + +} Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSaintVenant.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSaintVenant.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSaintVenant.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,25 @@ +package main.java.org.fudaa.dodico.crue.metier.emh; +/** + * + * @author Adrien Hadoux + * + */ +public class DonCalcSansPrtBrancheSaintVenant implements DonCalcSansPrt { +private double coeffBeta; +private double coeffRuisQdm; + + +public double getCoeffBeta() { + return coeffBeta; +} +public void setCoeffBeta(double coeffBeta) { + this.coeffBeta = coeffBeta; +} +public double getCoeffRuisQdm() { + return coeffRuisQdm; +} +public void setCoeffRuisQdm(double coeffRuisQdm) { + this.coeffRuisQdm = coeffRuisQdm; +} + +} Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilLateral.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilLateral.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilLateral.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,29 @@ +package main.java.org.fudaa.dodico.crue.metier.emh; + +import java.util.List; + +/** + * + * @author Adrien Hadoux + * + */ +public class DonCalcSansPrtBrancheSeuilLateral implements DonCalcSansPrt{ + String formulePdc; + List<ElemSeuilAvecPdc> listElt; + public List<ElemSeuilAvecPdc> getListElt() { + return listElt; + } + + public void setListElt(List<ElemSeuilAvecPdc> listElt) { + this.listElt = listElt; + } + + public String getFormulePdc() { + return formulePdc; + } + + public void setFormulePdc(String formulePdc) { + this.formulePdc = formulePdc; + } + +} Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilTransversal.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilTransversal.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilTransversal.java 2009-02-27 20:10:26 UTC (rev 4505) @@ -0,0 +1,29 @@ +package main.java.org.fudaa.dodico.crue.metier.emh; + +import java.util.List; + +/** + * + * @author Adrien Hadoux + * + */ +public class DonCalcSansPrtBrancheSeuilTransversal implements DonCalcSansPrt { +String formulePdc; +List<ElemSeuilAvecPdc> listElt; +public List<ElemSeuilAvecPdc> getListElt() { + return listElt; +} + +public void setListElt(List<ElemSeuilAvecPdc> listElt) { + this.listElt = listElt; +} + +public String getFormulePdc() { + return formulePdc; +} + +public void setFormulePdc(String formulePdc) { + this.formulePdc = formulePdc; +} + +} Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-c... [truncated message content] |
From: <had...@us...> - 2009-03-03 19:21:41
|
Revision: 4506 http://fudaa.svn.sourceforge.net/fudaa/?rev=4506&view=rev Author: hadouxad Date: 2009-03-03 19:21:31 +0000 (Tue, 03 Mar 2009) Log Message: ----------- * fignol?\195?\169 les lectures/?\195?\169critures DRSO. ca marche tr?\195?\168s bien * r?\195?\169alis?\195?\169 les test junit (test affiche xml, test ?\195?\169criture/lecture/?\195?\169criture) * j'ai persist?\195?\169 le fichier DRST (les frottements) * test junit pour le fichier DRST. Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.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/DaoStructuresFormatDRSO.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMH.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageFilEau.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageGenerique.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageRhone.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheEnchainement.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheNiveauxAssocies.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheOrifice.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBranchePdc.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSaintVenant.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilLongitudinale.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilTransversal.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheStrickler.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHCasierMNT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHCasierProfil.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHNoeudNiveauContinu.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHSectionIdem.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHSectionInterpolee.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHSectionProfil.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHSectionSansGeometrie.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/StriRefC.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/StriRefH.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/StriRefZ.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/reader/Crue10reader.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/writer/Crue10writer.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Questions-ModelisationDonnees.txt branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/testSave/ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/fgis.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/fgis.src.jar branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDFRT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDFRT.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/test/java/org/fudaa/fudaa/crue/AppCrueTest.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/TestCrueDRSOFile.java Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/fudaa/crue/App.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/AppTest.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/Crue.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/CrueCommomImplementation.java Added: 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 (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Questions-ModelisationDonnees.txt 2009-03-03 19:21:31 UTC (rev 4506) @@ -0,0 +1,33 @@ +-- Questions mod\xE9lisations \xE0 soumettre au CNR -- + + +***** CRUE 10 ***** + + +- G\xE9n\xE9ral: Important R\xE8gle \xE0 appliquer pour tous les fichiers xml + - Il faut appliquer les 2 r\xE8gles suivantes: + - le nom de balise < > doit \xEAtre unique par fichier. + - pour les occurences d'une m\xEAme balise: suffixer les autres balises r\xE9f\xE9rences par <balise-ref>. + + exemple: fichier DRSO: + les balises sections sont pr\xE9sentes \xE0 la fois a l'int\xE9rieur de <Sections> et de <Branches> avec les m\xEAmes noms. + puisque dans la partie section <Sections> les balises sont des r\xE9f\xE9rences, elles seront suffix\xE9es en + <SectionProfil-ref> <SectionInterpolee-ref> ... + + +***** FICHIERS XML CRUE 10***** + +- Fichier DRSO: + - balise casier: pourrait -n avoir des exemples de balises casierMNT (on a que des exemples casierProfil avec les fichiers pour le moment. ) + - balise casier/branche: on fait appel \xE0 une r\xE9f\xE9rence \xE0 un profil: Ou est-il d\xE9crit? + - balise branche: seul les noms des balises changenet(type de branche, saintvenant, orifice...), la structure + est toujours la m\xEAme (actif,noeud amont,aval, liste des sections). Est-ce normal? N'y a t'il pas de donn\xE9es sp\xE9cifiques suppl\xE9mentaires selon le type (pas pr\xE9sent dans les fichiers exemples). + - balise <Branches>. y sont d\xE9crit compl\xE8tement les sections (Pos,Xp) alors que dans la balise <Sections> il y a seulement des r\xE9f\xE9rences vers ces sections. Il ne faudrait pas plutot faire l'inverse? + sinon la balise <Sections> est facultative? + +- Fichier OPTG: + + + +- Fichier DRSO: + \ No newline at end of file Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/fgis.jar =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/fgis.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/fgis.src.jar =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/lib/fgis.src.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDFRT.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDFRT.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDFRT.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -0,0 +1,50 @@ +package main.java.org.fudaa.dodico.crue.dao; + +import java.util.List; + +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.DomDriver; + +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDFRT.StriRefPersist; +import main.java.org.fudaa.dodico.crue.metier.emh.DonFrt; +import main.java.org.fudaa.dodico.crue.metier.emh.EMH; + +/** + * Classe persistante qui reprend la meme structure que le fichier xml + *DFRT - Fichier des donn\xE9es de frottement (xml) + * A persister telle qu'elle. + * @author Adrien Hadoux + * + */ +public class CrueDaoDFRT extends CrueDaoParsing<List<DonFrt>>{ + //-- variables qui correspondent \xE0 celle du fichier xml --// + public String VersionCrue="10"; + public String Commentaire="G\xE9n\xE9r\xE9 par Fudaa "; + + /** + * 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. + */ + List<StriRefPersist> listeFrottement; + + + public void fillInfosWith(List<DonFrt> data) { + listeFrottement=CrueDaoFillInfos.remplirPersistanceAvecFrottemetnsDFRT(data); + + } + + + public List<DonFrt> fillInfosWithPersistant() { + return CrueDaoFillInfos.remplirFrottemetnsAvecPersistanceDFRT(listeFrottement); + } + + + public XStream initXmlParser() { + XStream xstream = new XStream(new DomDriver()); + //-- initialisation du format de la structure des documents --// + (new DaoStructuresFormatDFRT()).initXmlParserForDFRT(xstream); + return xstream; + } + + +} Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -1,6 +1,7 @@ package main.java.org.fudaa.dodico.crue.dao; import java.awt.font.MultipleMaster; +import java.util.ArrayList; import java.util.List; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.converters.SingleValueConverter; @@ -10,6 +11,7 @@ /** * Classe persistante qui reprend la meme structure que le fichier xml * DRSO - Fichier des donn\xE9es du r\xE9seau (xml) + * A persister telle qu'elle. * @author Adrien Hadoux * */ @@ -71,8 +73,33 @@ @Override public List<EMH> fillInfosWithPersistant() { - // TODO Auto-generated method stub - return null; + + List<EMH> listeCompleteEMH=new ArrayList<EMH>(); + + //-- etape 1: on remplit les infso des noeuds --// + List<EMH> listeNoeuds=CrueDaoFillInfos.remplirNoeudAvecPersistanceDRSO(Noeuds); + + //-- etape 2: les casiers --// + List<EMH> listeCasiers=CrueDaoFillInfos.remplirCasierAvecPersistanceDRSO(Casiers, listeNoeuds); + + + //-- etape 3: les branches et les sections de bransche --// + List<EMH> listeBranches=CrueDaoFillInfos.remplirBrancheAvecPersistanceDRSO(Branches, listeNoeuds); + + //-- etape 3: les sections a partir des sections cr\xE9es lors du remplissage des branches --// + + List<EMH> listeSections= CrueDaoFillInfos.remplirSectionsAvecPersistanceDRSO(Sections, listeBranches); + + + + + + //-- on ajoute tout dans la liste compl\xE8te --// + listeCompleteEMH.addAll(listeNoeuds); + listeCompleteEMH.addAll(listeCasiers); + listeCompleteEMH.addAll(listeBranches); + listeCompleteEMH.addAll(listeSections); + return listeCompleteEMH; } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -6,10 +6,12 @@ import com.lowagie.text.Section; import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDRSO.*; +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDFRT.*; 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; import main.java.org.fudaa.dodico.crue.metier.emh.CatEMHSection; +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.EMHBrancheBarrageFilEau; import main.java.org.fudaa.dodico.crue.metier.emh.EMHBrancheBarrageGenerique; @@ -28,6 +30,9 @@ 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.StriRefC; +import main.java.org.fudaa.dodico.crue.metier.emh.StriRefH; +import main.java.org.fudaa.dodico.crue.metier.emh.StriRefZ; /** * Classe qui se charge de remplir les structures DAO avec els donn\xE9es m\xE9tier. @@ -53,6 +58,26 @@ } return listePersistante; } + + + /** + * Methode qui remplit une arrayList d'objets m\xE9tier EMH noeuds a partir des donn\xE9es persistantes qui constituent la premiere partie du fichier DRSO: les Noeuds. + * @param data + * @return + */ + public static List<EMH> remplirNoeudAvecPersistanceDRSO(List listePersistants ){ + List<EMH> listeEMH=new ArrayList(); + for(Object persist:listePersistants ){ + if(persist instanceof NoeudNiveauContinu){ + NoeudNiveauContinu noeudPersist=(NoeudNiveauContinu) persist; + CatEMHNoeud noeud=new CatEMHNoeud(noeudPersist.Nom); + listeEMH.add(noeud); + } + } + return listeEMH; + } + + /** * Methode qui remplit une arrayList d'objets persistants qui constituent la deuxieme partie du fichier DRSO: les Branches. @@ -64,15 +89,14 @@ for(EMH emh:data ){ if(emh instanceof CatEMHBranche){ CatEMHBranche branche=(CatEMHBranche) emh; - Object branchePersist=null; + BrancheAbstract branchePersist=null; if (branche instanceof EMHBrancheBarrageFilEau) { EMHBrancheBarrageFilEau new_name = (EMHBrancheBarrageFilEau) branche; branchePersist=new BrancheBarrageFilEau(); }else if (branche instanceof EMHBrancheBarrageGenerique) { EMHBrancheBarrageGenerique new_name = (EMHBrancheBarrageGenerique) branche; branchePersist=new BrancheBarrageGenerique(); - } - else if (branche instanceof EMHBrancheBarrageRhone) { + }else if (branche instanceof EMHBrancheBarrageRhone) { EMHBrancheBarrageRhone new_name = (EMHBrancheBarrageRhone) branche; branchePersist=new BrancheBarrageRhone(); }else if (branche instanceof EMHBrancheEnchainement) { @@ -101,8 +125,6 @@ branchePersist=new BrancheStrickler(); } - - if(branchePersist!=null){ //-- commun --// BrancheAbstract br=(BrancheAbstract) branchePersist; @@ -111,19 +133,92 @@ if(branche.getNoeudAmont()!=null) br.NdAm=new NdAm(branche.getNoeudAmont().getNom()); if(branche.getNoeudAval()!=null) - br.NdAv=new NdAm(branche.getNoeudAval().getNom()); + br.NdAv=new NdAv(branche.getNoeudAval().getNom()); //-- on remplit les sections persistantes avec celle de la branche --// br.Sections=CrueDaoFillInfos.remplirPersistanceAvecSectionsBrancheDRSO(branche.getListeSections()); - listePersistante.add(br); } - } } return listePersistante; } + + public static List<EMH> remplirBrancheAvecPersistanceDRSO(List listePersistante,List<EMH> listeNoeuds){ + List<EMH> data=new ArrayList(); + for(Object objet:listePersistante ){ + if(objet instanceof BrancheAbstract){ + CatEMHBranche branche=null; + BrancheAbstract branchePersist=(BrancheAbstract) objet; + String nom=branchePersist.Nom; + if (branchePersist instanceof BrancheBarrageFilEau) { + branche = new EMHBrancheBarrageFilEau(nom); + + }else if (branchePersist instanceof BrancheBarrageGenerique) { + branche = new EMHBrancheBarrageGenerique(nom); + + }else if (branchePersist instanceof BrancheBarrageRhone) { + branche = new EMHBrancheBarrageRhone(nom); + + }else if (branchePersist instanceof BrancheEnchainement) { + branche = new EMHBrancheEnchainement(nom); + + }else if (branchePersist instanceof BrancheNiveauxAssocies) { + branche = new EMHBrancheNiveauxAssocies(nom); + + }else if (branchePersist instanceof BrancheOrifice) { + branche = new EMHBrancheOrifice(nom); + + }else if (branchePersist instanceof BranchePdc) { + branche = new EMHBranchePdc(nom); + + }else if (branchePersist instanceof BrancheSaintVenant) { + branche = new EMHBrancheSaintVenant(nom); + + }else if (branchePersist instanceof BrancheSeuilLateral) { + branche = new EMHBrancheSeuilLongitudinale(nom); + + }else if (branchePersist instanceof BrancheSeuilTransversal) { + branche = new EMHBrancheSeuilTransversal(nom); + + }else if (branchePersist instanceof BrancheStrickler) { + branche = new EMHBrancheStrickler(nom); + + } + if(branche!=null){ + //-- commun --// + + branche.setActive(branchePersist.Active); + //branche.setNom(branchePersist.Nom); + if(branchePersist.NdAm!=null){ + CatEMHNoeud noeudAmont=CatEMHNoeud.findByReference(branchePersist.NdAm.NomRef, listeNoeuds); + if(noeudAmont!=null) + branche.setNoeudAmont(noeudAmont); + } + if(branchePersist.NdAv!=null){ + CatEMHNoeud noeudAval=CatEMHNoeud.findByReference(branchePersist.NdAv.NomRef, listeNoeuds); + if(noeudAval!=null) + branche.setNoeudAval(noeudAval); + } + + //-- on remplit les sections persistantes avec celle de la branche --// + if(branchePersist.Sections!=null) + branche.setListeSections(CrueDaoFillInfos.remplirSectionsBrancheAvecPersistanceDRSO(branchePersist.Sections)); + + + data.add(branche); + } + } + } + return data; + } + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent la troisi\xE8me partie du fichier DRSO: les Casier. + * @param data + * @return + */ public static List remplirPersistanceAvecCasierDRSO(List<EMH> data){ List listePersistante=new ArrayList(); for(EMH emh:data ){ @@ -157,27 +252,170 @@ /** - * Remplit les don\xE9nes persistantes avec la liste des sections . + * Methode qui remplit une arrayList d'objets m\xE9tier EMH casier a partir des donn\xE9es persistantes qui constituent a troisi\xE8me partie du fichier DRSO: les Casier. * @param data * @return */ + public static List<EMH> remplirCasierAvecPersistanceDRSO(List listePersistants,List<EMH> listeNoeuds ){ + List<EMH> listeEMH=new ArrayList(); + for(Object persist:listePersistants ){ + if(persist instanceof CasierAbstract){ + CasierAbstract casierPersist=(CasierAbstract) persist; + String nom=casierPersist.Nom; + //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// + CatEMHCasier casier=null; + + //-- on recherche sa sp\xE9cialisation --// + if(casierPersist instanceof CasierProfil){ + casier=new EMHCasierProfil(nom); + if(((CasierProfil)casierPersist).Profil!=null) + ((EMHCasierProfil)casier).setNomProfil(((CasierProfil)casierPersist).Profil.NomRef); + }else if(casierPersist instanceof CasierMNT){ + casier=new EMHCasierMNT(nom); + } + + //-- commun aux objets --// + if(casier!=null){ + casier.setActive(casierPersist.Active); + if(casierPersist.Noeud!=null){ + String reference=casierPersist.Noeud.NomRef; + + + CatEMHNoeud noeudRef=CatEMHNoeud.findByReference(reference, listeNoeuds); + if(noeudRef!=null) + casier.setNoeud(noeudRef); + } + + listeEMH.add(casier); + } + } + } + return listeEMH; + } + + + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent la quatri\xE8me partie du fichier DRSO: les Sections-references. + * @param data + * @return + */ public static List remplirPersistanceAvecSectionsDRSO(List<EMH> data){ List listePersistante=new ArrayList(); for(EMH emh:data ){ if(emh instanceof CatEMHSection){ CatEMHSection section=(CatEMHSection)emh; + SectionAbstract sectionPersist=null; + if(section instanceof EMHSectionIdem){ + sectionPersist=new SectionRefIdem(); + }else + if(section instanceof EMHSectionInterpolee){ + sectionPersist=new SectionRefInterpolee(); + }else + if(section instanceof EMHSectionProfil){ + sectionPersist=new SectionRefProfil(); + }else + if(section instanceof EMHSectionSansGeometrie){ + sectionPersist=new SectionRefSansGeometrie(); + } + + //-- commun --// + if(sectionPersist!=null){ + sectionPersist.NomRef=section.getNom(); + listePersistante.add(sectionPersist); + } + } + } + return listePersistante; + } + + /** + * Methode qui remplit une arrayList d'objets m\xE9tier EMH sections de branches a partir des donn\xE9es persistantes qui constituent la partie interne d'une partie Branche du fichier DRSO: les Sections. + * @param data + * @return + */ + public static List<CatEMHSection> remplirSectionsBrancheAvecPersistanceDRSO(List listePersistantsBranches){ + + + + List<CatEMHSection> listeEMH=new ArrayList<CatEMHSection>(); + for(Object persist:listePersistantsBranches ){ + if(persist instanceof SectionBrancheAbstract){ + SectionBrancheAbstract sectionPersist=(SectionBrancheAbstract) persist; + + //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// + CatEMHSection section=null; + String nom=sectionPersist.NomRef; + //-- on recherche sa sp\xE9cialisation --// + if(sectionPersist instanceof SectionIdem){ + section=new EMHSectionIdem(nom); + + }else if(sectionPersist instanceof SectionInterpolee){ + section=new EMHSectionInterpolee(nom); + }else if(sectionPersist instanceof SectionProfil){ + section=new EMHSectionProfil(nom); + }else if(sectionPersist instanceof SectionSansGeometrie){ + section=new EMHSectionSansGeometrie(nom); + } + + //-- commun aux objets --// + if(section!=null){ + + if(sectionPersist.Pos!=null) + section.setPosition(sectionPersist.Pos); + section.setXp(sectionPersist.Xp); + listeEMH.add(section); + } + } + } + return listeEMH; + } + + /** + * Methode qui remplit une arrayList d'objets m\xE9tier EMH sections a partir des donn\xE9es persistantes qui constituent a quatrieme partie du fichier DRSO: les Sections. + * @param data + * @return + */ + public static List<EMH> remplirSectionsAvecPersistanceDRSO(List listePersistantsSection,List<EMH> listeBranches){ + List<EMH> listeEMH=new ArrayList<EMH>(); + for(Object persist:listePersistantsSection ){ + if(persist instanceof SectionAbstract){ + SectionAbstract sectionPersist=(SectionAbstract) persist; + + //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// + CatEMHSection section=null; + String reference=sectionPersist.NomRef; + section=CatEMHSection.findByReferenceFromBrancheOrSectionEMH(reference, listeBranches); + if(section!=null) + listeEMH.add(section); + + } + } + return listeEMH; + } + + + /** + * Remplit les don\xE9nes persistantes avec la liste des sections d'une branche. + * Remplit toutes les donn\xE9es associ\xE9es aux sections + * @param data + * @return + */ + public static List remplirPersistanceAvecSectionsBrancheDRSO(List<CatEMHSection> data){ + List listePersistante=new ArrayList(); + for(EMH emh:data ){ + if(emh instanceof CatEMHSection){ + CatEMHSection section=(CatEMHSection)emh; SectionBrancheAbstract sectionPersist=null; if(section instanceof EMHSectionIdem){ sectionPersist=new SectionIdem(); }else if(section instanceof EMHSectionInterpolee){ sectionPersist=new SectionInterpolee(); - } - else + }else if(section instanceof EMHSectionProfil){ sectionPersist=new SectionProfil(); - } - else + }else if(section instanceof EMHSectionSansGeometrie){ sectionPersist=new SectionSansGeometrie(); } @@ -185,28 +423,73 @@ //-- commun --// if(sectionPersist!=null){ sectionPersist.NomRef=section.getNom(); - sectionPersist.Pos=section.getPosition(); - sectionPersist.Xp=section.getXp(); + sectionPersist.Pos=section.getPosition(); + sectionPersist.Xp=section.getXp(); + + listePersistante.add(sectionPersist); } - } - - } - return listePersistante; } + + /** + * remplir le fichier DFRT avec les frottemetns + * @param data + * @return + */ + public static List<StriRefPersist> remplirPersistanceAvecFrottemetnsDFRT(List<DonFrt> data){ + 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){ + persist.listePoints=frt.getListePoints(); + listeFrottement.add(persist); + } + + } + return listeFrottement; + } - /** - * Remplit les don\xE9nes persistantes avec la liste des sections d'une branche. + * remplir le fichier DFRT avec les frottemetns * @param data * @return */ - public static List remplirPersistanceAvecSectionsBrancheDRSO(List<CatEMHSection> data){ - return null; + public static List<DonFrt> remplirFrottemetnsAvecPersistanceDFRT(List<StriRefPersist> persistListe){ + List<DonFrt> data=new ArrayList<DonFrt>(); + 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) + frt.setListePoints(persist.listePoints); + data.add(frt); + } + + } + return data; } - + } 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-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoParsing.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -49,7 +49,7 @@ boolean isOk=true; ObjectOutputStream out=null; try { - out = initXmlParser().createObjectOutputStream(new FileWriter(fichier)); + out = initXmlParser().createObjectOutputStream(new FileWriter(fichier),"Fichier"); //--on enregistre la donn\xE9e au bon format --// out.writeObject(this); } catch (IOException e) { Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDFRT.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDFRT.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDFRT.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -0,0 +1,91 @@ +package main.java.org.fudaa.dodico.crue.dao; + +import java.awt.Point; +import java.util.List; + +import org.fudaa.ebli.geometrie.GrPoint; + +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDRSO.BrancheAbstract; +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDRSO.NoeudNiveauContinu; +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDRSO.NoeudNiveauContinuConverter; +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; + +/** + * Toutes les structures dao utilis\xE9es et les inits du parser xml pour le format DFRT. + * Toutes ces structures sont n\xE9cessaires pour bien formatter le contenu xml. + * Ici il n'y a pas besoin de d\xE9finir de sttructures suppl\xE9mentaires. + * @author Adrien Hadoux + * + */ +public class DaoStructuresFormatDFRT { + + + public void initXmlParserForDFRT(XStream xstream ){ + //-- creation des alias pour que ce soit + parlant dans le xml file --// + xstream.alias("DFRT", CrueDaoDFRT.class); + //-- liste des initialisations n\xE9cessaires pour le formattage des donn\xE9es--// + initXmlParserStriRef(xstream); + + + + + + } + + /** + * init parser pour les nodes et pouvoir mettre l'attribut Nom en d\xE9but de balise. + * @param xstream + */ + public void initXmlParserStriRef(XStream xstream ){ + //-- alias gestion pour les frottements --// + xstream.alias("StriRefC", StriRefCPersist.class); + xstream.alias("StriRefZ", StriRefZPersist.class); + xstream.alias("StriRefH", StriRefHPersist.class); + + //-- custom pour les points grpoint qui composent le fichier --// + xstream.alias("PointFF", Point.class); + + //-- il faut virer le type liste pour forcer a afficher les balises sans balises couvrantes --// + xstream.addImplicitCollection(CrueDaoDFRT.class, "listeFrottement"); + xstream.addImplicitCollection(StriRefPersist.class, "listePoints"); + + + } + + +public static abstract class StriRefPersist { + public String Nom; + public List<Point> listePoints; + public StriRefPersist(String nom){ + Nom=nom; + } + + } + + + + +public static class StriRefCPersist extends StriRefPersist{ + + public StriRefCPersist(String nom) { + super(nom); + // TODO Auto-generated constructor stub + }} +public static class StriRefZPersist extends StriRefPersist{ + + public StriRefZPersist(String nom) { + super(nom); + // TODO Auto-generated constructor stub + }} +public static class StriRefHPersist extends StriRefPersist{ + + public StriRefHPersist(String nom) { + super(nom); + // TODO Auto-generated constructor stub + }} + +} Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDRSO.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDRSO.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDRSO.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -62,48 +62,53 @@ xstream.alias("BrancheSeuilTransversal", BrancheSeuilTransversal.class); xstream.alias("BrancheBarrageFilEau", BrancheBarrageFilEau.class); xstream.alias("BranchePdc", BranchePdc.class); + xstream.alias("BrancheBarrageGenerique",BrancheBarrageGenerique.class); - //-- mettre attribut Nom comme attribut de la balise branche,noeud et section et son converter appropri\xE9 --// //-- mettre le nom de la branche dans la balise --// - xstream.useAttributeFor(BrancheSaintVenant.class, "Nom"); + xstream.useAttributeFor(BrancheAbstract.class, "Nom"); + + +// xstream.useAttributeFor(BrancheSaintVenant.class, "Nom"); xstream.registerConverter(new BrancheSaintVenantConverter()); - xstream.useAttributeFor(BrancheSeuilLateral.class, "Nom"); + // xstream.useAttributeFor(BrancheSeuilLateral.class, "Nom"); xstream.registerConverter(new BrancheSeuilLateralConverter()); - xstream.useAttributeFor(BrancheStrickler.class, "Nom"); + // xstream.useAttributeFor(BrancheStrickler.class, "Nom"); xstream.registerConverter(new BrancheStricklerConverter()); - xstream.useAttributeFor(BrancheOrifice.class, "Nom"); + //xstream.useAttributeFor(BrancheOrifice.class, "Nom"); xstream.registerConverter(new BrancheOrificeConverter()); - xstream.useAttributeFor(BrancheSeuilTransversal.class, "Nom"); + //xstream.useAttributeFor(BrancheSeuilTransversal.class, "Nom"); xstream.registerConverter(new BrancheSeuilTransversalConverter()); - xstream.useAttributeFor(BrancheBarrageFilEau.class, "Nom"); + // xstream.useAttributeFor(BrancheBarrageFilEau.class, "Nom"); xstream.registerConverter(new BrancheBarrageFilEauConverter()); - xstream.useAttributeFor(BranchePdc.class, "Nom"); + //xstream.useAttributeFor(BranchePdc.class, "Nom"); xstream.registerConverter(new BranchePdcConverter()); - xstream.useAttributeFor(BrancheBarrageGenerique.class, "Nom"); + //xstream.useAttributeFor(BrancheBarrageGenerique.class, "Nom"); xstream.registerConverter(new BrancheBarrageGeneriqueConverter()); - xstream.useAttributeFor(BrancheBarrageRhone.class, "Nom"); + // xstream.useAttributeFor(BrancheBarrageRhone.class, "Nom"); xstream.registerConverter(new BrancheBarrageRhoneConverter()); - xstream.useAttributeFor(BrancheEnchainement.class, "Nom"); + //xstream.useAttributeFor(BrancheEnchainement.class, "Nom"); xstream.registerConverter(new BrancheEnchainementConverter()); - xstream.useAttributeFor(BrancheNiveauxAssocies.class, "Nom"); + //xstream.useAttributeFor(BrancheNiveauxAssocies.class, "Nom"); xstream.registerConverter(new BrancheNiveauxAssociesConverter()); //-- gestion des noeuds des branches --// xstream.alias("NdAm", NdAm.class); xstream.alias("NdAv", NdAv.class); + + xstream.useAttributeFor(NdAm.class, "NomRef"); xstream.registerConverter(new NdAmConverter()); xstream.useAttributeFor(NdAv.class, "NomRef"); @@ -123,10 +128,11 @@ xstream.alias("Profil",ReferenceProfil.class); xstream.alias("Noeud", ReferenceNoeud.class); - xstream.useAttributeFor(CasierProfil.class, "Nom"); + xstream.useAttributeFor(CasierAbstract.class, "Nom"); + // xstream.useAttributeFor(CasierProfil.class, "Nom"); xstream.registerConverter(new CasierProfilConverter()); - xstream.useAttributeFor(CasierMNT.class, "Nom"); + //xstream.useAttributeFor(CasierMNT.class, "Nom"); xstream.registerConverter(new CasierMNTConverter()); xstream.useAttributeFor(ReferenceProfil.class, "NomRef"); @@ -144,28 +150,38 @@ * @param xstream */ public void initXmlParserSection(XStream xstream ){ - //-- gestion des sections --// + //-- gestion des sections --// xstream.alias("SectionIdem", SectionIdem.class); xstream.alias("SectionSansGeometrie", SectionSansGeometrie.class); xstream.alias("SectionProfil", SectionProfil.class); xstream.alias("SectionInterpolee", SectionInterpolee.class); xstream.alias("SectionPilote", SectionPilote.class); - xstream.useAttributeFor(SectionIdem.class, "NomRef"); + + xstream.useAttributeFor(SectionBrancheAbstract.class, "NomRef"); xstream.registerConverter(new SectionIdemConverter()); - - xstream.useAttributeFor(SectionSansGeometrie.class, "NomRef"); xstream.registerConverter(new SectionSansGeometrieConverter()); - - xstream.useAttributeFor(SectionProfil.class, "NomRef"); xstream.registerConverter(new SectionProfilConverter()); - - xstream.useAttributeFor(SectionInterpolee.class, "NomRef"); xstream.registerConverter(new SectionInterpoleeConverter()); + xstream.registerConverter(new SectionPiloteConverter()); + //-- gestion des REFERENCES sections --// + //NOTE ADRIEN: on est foutu si il existe plusieurs balises de meme nom + // il faut donc suffixer par des -ref - xstream.useAttributeFor(SectionPilote.class, "NomRef"); - xstream.registerConverter(new SectionPiloteConverter()); + xstream.alias("SectionIdem-ref", SectionRefIdem.class); + xstream.alias("SectionSansGeometrie-ref", SectionRefSansGeometrie.class); + xstream.alias("SectionProfil-ref", SectionRefProfil.class); + xstream.alias("SectionInterpolee-ref", SectionRefInterpolee.class); + xstream.alias("SectionPilote-ref", SectionRefPilote.class); + + + xstream.useAttributeFor(SectionAbstract.class, "NomRef"); + xstream.registerConverter(new SectionRefIdemConverter()); + xstream.registerConverter(new SectionRefSansGeometrieConverter()); + xstream.registerConverter(new SectionRefProfilConverter()); + xstream.registerConverter(new SectionRefInterpoleeConverter()); + xstream.registerConverter(new SectionRefPiloteConverter()); } @@ -189,7 +205,7 @@ return n; } public boolean canConvert(Class type) { - return type.equals(NoeudNiveauContinu.class); + return type.isInstance(NoeudNiveauContinu.class); } } @@ -203,8 +219,8 @@ public static class BrancheAbstract{ public String Nom; public boolean Active; - public ReferenceNoeud NdAm; - public ReferenceNoeud NdAv; + public NdAm NdAm; + public NdAv NdAv; List Sections; } @@ -314,18 +330,15 @@ } - public static class NdAm extends ReferenceNoeud{ - - public NdAm(String nomRef) { - super(nomRef); - // TODO Auto-generated constructor stub + public static class NdAm { + public String NomRef; + public NdAm(String nomRef) { + NomRef=nomRef;}} + public static class NdAv { + public String NomRef; + public NdAv(String nomRef) { + NomRef=nomRef; }} - public static class NdAv extends ReferenceNoeud{ - - public NdAv(String nomRef) { - super(nomRef); - // TODO Auto-generated constructor stub - }} public class ReferenceNoeudConverter implements SingleValueConverter { public String toString(Object obj) { @@ -338,16 +351,16 @@ public boolean canConvert(Class type) { return type.isInstance(ReferenceNoeud.class); } } - public class NdAmConverter extends ReferenceNoeudConverter{ - public Object fromString(String name) { - NdAm n=new NdAm(name); - - return n; }} - public class NdAvConverter extends ReferenceNoeudConverter{ - public Object fromString(String name) { - NdAv n=new NdAv(name); - - return n; }} + public class NdAmConverter implements SingleValueConverter { + public Object fromString(String name) { return new NdAm(name); } + public String toString(Object obj) { return ((NdAm) obj).NomRef;} + public boolean canConvert(Class type) { return type.isInstance(NdAm.class); } + } + + public class NdAvConverter implements SingleValueConverter { + public Object fromString(String name) {return new NdAv(name);} + public String toString(Object obj) { return ((NdAv) obj).NomRef;} + public boolean canConvert(Class type) { return type.isInstance(NdAv.class); }} //-- gestion des sections --// /** * Elementsection qui se trouve dans branche, @@ -464,11 +477,59 @@ return casier; } } - //*************************GESTION DES SECTIONS ************************* + //*************************GESTION DES SECTIONS REFERENCES************************* public class ReferenceSection { public String Nom; } + public static class SectionAbstract{ + public String NomRef; + + } + public static class SectionRefIdem extends SectionAbstract{} + public static class SectionRefInterpolee extends SectionAbstract{} + public static class SectionRefProfil extends SectionAbstract{} + public static class SectionRefSansGeometrie extends SectionAbstract{} + public static class SectionRefPilote extends SectionAbstract{} + public abstract class SectionRefConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((SectionAbstract) obj).NomRef; + } + public abstract Object fromString(String name); + public boolean canConvert(Class type) { + return type.isInstance(SectionAbstract.class); + }} + public class SectionRefIdemConverter extends SectionRefConverter{ + public Object fromString(String name) { + SectionRefIdem section=new SectionRefIdem(); + section.NomRef=name; + return section;}} + + public class SectionRefInterpoleeConverter extends SectionRefConverter{ + public Object fromString(String name) { + SectionRefInterpolee section=new SectionRefInterpolee(); + section.NomRef=name; + return section;}} + + public class SectionRefProfilConverter extends SectionRefConverter{ + public Object fromString(String name) { + SectionRefProfil section=new SectionRefProfil(); + section.NomRef=name; + return section;}} + + public class SectionRefSansGeometrieConverter extends SectionRefConverter{ + public Object fromString(String name) { + SectionRefSansGeometrie section=new SectionRefSansGeometrie(); + section.NomRef=name; + return section;}} + + public class SectionRefPiloteConverter extends SectionRefConverter{ + public Object fromString(String name) { + SectionRefPilote section=new SectionRefPilote(); + section.NomRef=name; + return section;}} + + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -23,11 +23,16 @@ * */ public class CatEMHBranche extends EMH{ + private boolean isActive_; private List<CatEMHSection> listeSections_; private CatEMHNoeud noeudAmont_; private CatEMHNoeud noeudAval_; - private String nom; + + public CatEMHBranche(String nom) { + super(nom); + // TODO Auto-generated constructor stub + } @@ -63,12 +68,5 @@ this.noeudAval_ = noeudAval; } - public String getNom() { - return nom; - } - - public void setNom(String nom) { - this.nom = nom; - } } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -5,19 +5,18 @@ * */ public abstract class CatEMHCasier extends EMH{ + + private boolean isActive_; private CatEMHNoeud noeud_; -private String nom_; - -public String getNom() { - return nom_; +public CatEMHCasier(String nom) { + super(nom); + // TODO Auto-generated constructor stub } -public void setNom(String nom) { - this.nom_ = nom; -} + public boolean isActive() { return isActive_; } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -1,19 +1,40 @@ package main.java.org.fudaa.dodico.crue.metier.emh; +import java.util.List; + /** * * @author Adrien Hadoux * */ public class CatEMHNoeud extends EMH{ - String nom_; + - public String getNom() { - return nom_; + + + + public CatEMHNoeud(String nom) { + super(nom); + } - public void setNom(String nom) { - this.nom_ = nom; + /** + * Recherche le noeud par rapport \xE0 la r\xE9f\xE9rence fournie. + * @param listeMetier + * @return + */ + public static CatEMHNoeud findByReference(String reference,List<EMH> listeMetier){ + for(EMH emh:listeMetier){ + if(emh instanceof CatEMHNoeud){ + CatEMHNoeud noeud=(CatEMHNoeud) emh; + if(noeud.nom_.equals(reference)) + return noeud; + } + } + return null; + + } + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -1,22 +1,25 @@ package main.java.org.fudaa.dodico.crue.metier.emh; +import java.util.List; + /** * la classe section. * @author Adrien Hadoux * */ public class CatEMHSection extends EMH{ + String position; double xp; - String nom; - - public String getNom() { - return nom; + String reference; + + public CatEMHSection(String nom) { + super(nom); + // TODO Auto-generated constructor stub } - public void setNom(String nom) { - this.nom = nom; - } + + public String getPosition() { return position; } @@ -29,4 +32,35 @@ public void setXp(double xp) { this.xp = xp; } + + + + /** + * Recherche le noeud par rapport \xE0 la r\xE9f\xE9rence fournie. + * @param listeMetier + * @return + */ + public static CatEMHSection findByReferenceFromBrancheOrSectionEMH(String reference,List<EMH> listeMetier){ + for(EMH emh:listeMetier){ + if(emh instanceof CatEMHSection){ + CatEMHSection section=(CatEMHSection) emh; + if(reference.equals(section.getNom())){ + return section; + } + }else if(emh instanceof CatEMHBranche){ + CatEMHBranche branche=(CatEMHBranche) emh; + if(branche.getListeSections()!=null){ + for(CatEMHSection section:branche.getListeSections() ){ + if(reference.equals(section.getNom())){ + return section; + } + } + } + } + } + return null; + + + } + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -1,10 +1,58 @@ package main.java.org.fudaa.dodico.crue.metier.emh; +import java.awt.Point; +import java.util.ArrayList; +import java.util.List; + +import org.fudaa.ebli.geometrie.GrPoint; + /** * * @author Adrien Hadoux * */ -public interface DonFrt { +public abstract class DonFrt { + protected List<Point> point_; + /** + * reference. + */ + protected String nom_; + + public DonFrt(String nom){ + nom_=nom; + point_=new ArrayList<Point>(); + } + + public String getNom() { + return nom_; + } + public void setNom(String nom) { + this.nom_ = nom; + } + + public Point getPoint(int i) { + return point_.get(i); + } + + public GrPoint getGrPoint(int i) { + GrPoint val=new GrPoint(point_.get(i).x,point_.get(i).y,0); + return val; + } + + public void setPoint(Point point,int i) { + this.point_.set(i, point); + } + + + public boolean addPoint(Point p){ + return point_.add(p); + } + + public List<Point> getListePoints(){ + return point_; + } + public void setListePoints( List<Point> liste){ + point_=liste; + } } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMH.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMH.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMH.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -11,9 +11,27 @@ * @author Adrien Hadoux * */ -public class EMH { +public abstract class EMH { /** + * Reference nom de l'objet EMH. + * Tr\xE9s important, il sera manipul\xE9 par les donn\xE9es. + */ + protected String nom_; + + public String getNom() { + return nom_; + } + + public void setNom(String nom) { + this.nom_ = nom; + } + + public EMH(String nom){ + nom_=nom; + } + + /** * CONTRAINTE : deux \xE9l\xE9ments nomm\xE9s (EMH, profils, frottements...) ne peuvent pas porter le m\xEAme nom. */ private List<InfosEMH> listeInfosEMH_; Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageFilEau.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageFilEau.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageFilEau.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -12,4 +12,9 @@ */ public class EMHBrancheBarrageFilEau extends CatEMHBranche{ + public EMHBrancheBarrageFilEau(String nom) { + super(nom); + // TODO Auto-generated constructor stub + } + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageGenerique.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageGenerique.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageGenerique.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -7,4 +7,9 @@ */ public class EMHBrancheBarrageGenerique extends CatEMHBranche{ + public EMHBrancheBarrageGenerique(String nom) { + super(nom); + // TODO Auto-generated constructor stub + } + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageRhone.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageRhone.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheBarrageRhone.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -6,4 +6,9 @@ */ public class EMHBrancheBarrageRhone extends CatEMHBranche{ + public EMHBrancheBarrageRhone(String nom) { + super(nom); + // TODO Auto-generated constructor stub + } + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheEnchainement.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheEnchainement.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheEnchainement.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -11,4 +11,9 @@ */ public class EMHBrancheEnchainement extends CatEMHBranche{ + public EMHBrancheEnchainement(String nom) { + super(nom); + // TODO Auto-generated constructor stub + } + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheNiveauxAssocies.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheNiveauxAssocies.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheNiveauxAssocies.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -7,4 +7,9 @@ */ public class EMHBrancheNiveauxAssocies extends CatEMHBranche{ + public EMHBrancheNiveauxAssocies(String nom) { + super(nom); + // TODO Auto-generated constructor stub + } + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheOrifice.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheOrifice.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheOrifice.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -8,4 +8,9 @@ */ public class EMHBrancheOrifice extends CatEMHBranche { + public EMHBrancheOrifice(String nom) { + super(nom); + // TODO Auto-generated constructor stub + } + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBranchePdc.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBranchePdc.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBranchePdc.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -6,4 +6,9 @@ */ public class EMHBranchePdc extends CatEMHBranche { + public EMHBranchePdc(String nom) { + super(nom); + // TODO Auto-generated constructor stub + } + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSaintVenant.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSaintVenant.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSaintVenant.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -9,4 +9,9 @@ */ public class EMHBrancheSaintVenant extends CatEMHBranche{ + public EMHBrancheSaintVenant(String nom) { + super(nom); + // TODO Auto-generated constructor stub + } + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilLongitudinale.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilLongitudinale.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilLongitudinale.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -7,4 +7,9 @@ */ public class EMHBrancheSeuilLongitudinale extends CatEMHBranche{ + public EMHBrancheSeuilLongitudinale(String nom) { + super(nom); + // TODO Auto-generated constructor stub + } + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilTransversal.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilTransversal.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheSeuilTransversal.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -7,4 +7,9 @@ */ public class EMHBrancheSeuilTransversal extends CatEMHBranche { + public EMHBrancheSeuilTransversal(String nom) { + super(nom); + // TODO Auto-generated constructor stub + } + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheStrickler.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheStrickler.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheStrickler.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -7,4 +7,9 @@ */ public class EMHBrancheStrickler extends CatEMHBranche{ + public EMHBrancheStrickler(String nom) { + super(nom); + // TODO Auto-generated constructor stub + } + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHCasierMNT.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHCasierMNT.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHCasierMNT.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -2,43 +2,39 @@ /** - *Casier dont la g\xE9om\xE9trie est d\xE9finie - *par des points de MNT et une fronti\xE8re + * Casier dont la g\xE9om\xE9trie est d\xE9finie + * par des points de MNT et une fronti\xE8re * @author Adrien Hadoux * */ public class EMHCasierMNT extends CatEMHCasier { private int id_; - private String nom_; private double cotelInitiale_; private int numero_; - - - - + + + public EMHCasierMNT(String nom){ + super(nom); + } + public EMHCasierMNT(int id, String nom, double cotelInitiale, int numero) { - super(); + super(nom); this.id_ = id; - this.nom_ = nom; + this.cotelInitiale_ = cotelInitiale; this.numero_ = numero; } - + public int getId() { return id_; } - + public void setId(int id) { this.id_ = id; } - public String getNom() { - return nom_; - } - public void setNom(String nom) { - this.nom_ = nom; - } + public double getCotelInitiale() { return cotelInitiale_; } @@ -51,6 +47,6 @@ public void setNumero(int numero) { this.numero_ = numero; } - - + + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHCasierProfil.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHCasierProfil.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHCasierProfil.java 2009-03-03 19:21:31 UTC (rev 4506) @@ -8,6 +8,11 @@ */ public class EMHCasierProfil extends CatEMHCasier{ + public EMHCasierProfil(String nom) { + super(nom); + // TODO Auto-generated constructor stub + } + String nomProfil_; public String getNomProfil() { Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHNoeudNiveauContinu.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHNoeudNiveauContinu.java 2009-02-27 20:10:26 UTC (rev 4505) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHNoeudNiveauCon... [truncated message content] |
From: <had...@us...> - 2009-03-05 18:29:26
|
Revision: 4512 http://fudaa.svn.sourceforge.net/fudaa/?rev=4512&view=rev Author: hadouxad Date: 2009-03-05 18:29:20 +0000 (Thu, 05 Mar 2009) Log Message: ----------- * mise en place du syst?\195?\168me d'erreur * mise en place du contr?\195?\180le xsd et ?\195?\169criture de la xsd de dfrt (pour le moment il est pas encore au point) * persistance du fichier DPTI: d?\195?\169but de persistance. Modified Paths: -------------- 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/dao/CrueDaoDFRT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoOPTG.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/DaoStructuresFormatDFRT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/reader/Crue10reader.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/writer/Crue10writer.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/TestCrueDFRTFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDRSOFile.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDPTI.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueRessource.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDPTI.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/ 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/valideDFRT.xsd branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/CruePersistanceErrorManager.java 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-05 16:57:34 UTC (rev 4511) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Questions-ModelisationDonnees.txt 2009-03-05 18:29:20 UTC (rev 4512) @@ -29,11 +29,15 @@ -- Fichier DRSO: - - positionner plusieurs valeurs dans la balise <PointFF>a b </PointFF> - ou g\xE9rer comme suit: - <PointFF> - <x>a</x> - <y>b</y> - </PointFF> +- Fichier DFRT: + + - pas de problemes + +- Fichier DPTI: + - Dans le fichier modele3.dpti.xml, on peut voir que les objets emh d\xE9pendent des objets d\xE9crits dans le fichier DRSO: + exemple: <NoeudNiveauContinu NomRef="DRSO#N1"> indique que le noeud fait r\xE9f\xE9rence au noeud du nom N1 du fichier DRSO. + Est ce que cette r\xE8gle est g\xE9n\xE9rale? c'est \xE0 dire que tous les objets de dpti sont des r\xE9f\xE9rences de drso et qu'ils ont + toujours le mot clef DRSO# devant ? + - Balises <Branches>,fichier modele3.dpti.xml: la balise <BrancheOrifice> contient la balise <OuvPasseDessous> de plus que les autres types de branches. + Est-ce bien la seule \xE0 poss\xE9der ce type de balise ou toutes peuvent les poss\xE9der? y'a t'il d'autres cas particuliers comme celui-ci pour les branches ? \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDFRT.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDFRT.java 2009-03-05 16:57:34 UTC (rev 4511) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDFRT.java 2009-03-05 18:29:20 UTC (rev 4512) @@ -18,8 +18,8 @@ */ public class CrueDaoDFRT extends CrueDaoParsing<List<DonFrt>>{ //-- variables qui correspondent \xE0 celle du fichier xml --// - public String VersionCrue="10"; - public String Commentaire="G\xE9n\xE9r\xE9 par Fudaa "; +// public String VersionCrue="10"; +// public String Commentaire="G\xE9n\xE9r\xE9 par Fudaa "; /** * Il faut ajouter un parametre dans xstream pour lui indiquer de degager les balises 'collections' @@ -28,14 +28,14 @@ List<StriRefPersist> listeFrottement; - public void fillInfosWith(List<DonFrt> data) { - listeFrottement=CrueDaoFillInfos.remplirPersistanceAvecFrottemetnsDFRT(data); + public void fillInfosWith(List<DonFrt> data,List<String> listeMessageError) { + listeFrottement=CrueDaoFillInfos.remplirPersistanceAvecFrottemetnsDFRT(data,listeMessageError); } - public List<DonFrt> fillInfosWithPersistant() { - return CrueDaoFillInfos.remplirFrottemetnsAvecPersistanceDFRT(listeFrottement); + public List<DonFrt> fillInfosWithPersistant(List<String> listeMessageError) { + return CrueDaoFillInfos.remplirFrottemetnsAvecPersistanceDFRT(listeFrottement,listeMessageError); } Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDPTI.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDPTI.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDPTI.java 2009-03-05 18:29:20 UTC (rev 4512) @@ -0,0 +1,65 @@ +package main.java.org.fudaa.dodico.crue.dao; + +import java.util.List; + +import com.thoughtworks.xstream.XStream; + +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheAbstract; +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.CasierAbstract; +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.NoeudNiveauContinu; +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.SectionAbstract; +import main.java.org.fudaa.dodico.crue.metier.emh.EMH; + +/** + * Classe persistante qui reprend la meme structure que le fichier xml + * A persister telle qu'elle. + * Le fichier DPTI d\xE9crit les conditions initiales + * (dont les manoeuvres d'ouvrages) d'un mod\xE8le CrueX. Son p\xE9rim\xE8tre est le mod\xE8le + * @author Adrien Hadoux + * + */ +public class CrueDaoDPTI extends CrueDaoParsing<List<EMH>>{ + + + + + /** + * la liste des noeuds + */ + private List<NoeudNiveauContinu> Noeuds; + + /** + * la liste des branches + */ + private List<BrancheAbstract> Branches; + + /** + * la liste des casiers + */ + private List<CasierAbstract> Casiers; + + + /** + * la liste des sections + */ + private List<SectionAbstract> Sections; + + @Override + void fillInfosWith(List<EMH> data, List<String> listeMessageError) { + // TODO Auto-generated method stub + + } + + @Override + List<EMH> fillInfosWithPersistant(List<String> listeMessageError) { + // TODO Auto-generated method stub + return null; + } + + @Override + XStream initXmlParser() { + // TODO Auto-generated method stub + return null; + } + +} Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java 2009-03-05 16:57:34 UTC (rev 4511) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java 2009-03-05 18:29:20 UTC (rev 4512) @@ -18,8 +18,8 @@ public class CrueDaoDRSO extends CrueDaoParsing<List<EMH>>{ //-- variables qui correspondent \xE0 celle du fichier xml --// - public String VersionCrue="10"; - public String Commentaire="G\xE9n\xE9r\xE9 par Fudaa "; +// public String VersionCrue="10"; +// public String Commentaire="G\xE9n\xE9r\xE9 par Fudaa "; /** * la liste des noeuds @@ -50,21 +50,21 @@ } @Override - public void fillInfosWith(List<EMH> data) { + public void fillInfosWith(List<EMH> data,List<String> listeMessageError) { //-- etape 1: on remplit les infso des noeuds --// - Noeuds=CrueDaoFillInfos.remplirPersistanceAvecNoeudDRSO(data); + Noeuds=CrueDaoFillInfos.remplirPersistanceAvecNoeudDRSO(data,listeMessageError); //-- etape 2: on remplit les infso des branches --// - Branches=CrueDaoFillInfos.remplirPersistanceAvecBrancheDRSO(data); + Branches=CrueDaoFillInfos.remplirPersistanceAvecBrancheDRSO(data,listeMessageError); //-- etape 3: on remplit les infso des casiers --// - Casiers=CrueDaoFillInfos.remplirPersistanceAvecCasierDRSO(data); + Casiers=CrueDaoFillInfos.remplirPersistanceAvecCasierDRSO(data,listeMessageError); //-- etape 4: on remplit les infso des sections --// - Sections=CrueDaoFillInfos.remplirPersistanceAvecSectionsDRSO(data); + Sections=CrueDaoFillInfos.remplirPersistanceAvecSectionsDRSO(data,listeMessageError); @@ -72,23 +72,23 @@ } @Override - public List<EMH> fillInfosWithPersistant() { + public List<EMH> fillInfosWithPersistant(List<String> listeMessageError) { List<EMH> listeCompleteEMH=new ArrayList<EMH>(); //-- etape 1: on remplit les infso des noeuds --// - List<EMH> listeNoeuds=CrueDaoFillInfos.remplirNoeudAvecPersistanceDRSO(Noeuds); + List<EMH> listeNoeuds=CrueDaoFillInfos.remplirNoeudAvecPersistanceDRSO(Noeuds,listeMessageError); //-- etape 2: les casiers --// - List<EMH> listeCasiers=CrueDaoFillInfos.remplirCasierAvecPersistanceDRSO(Casiers, listeNoeuds); + List<EMH> listeCasiers=CrueDaoFillInfos.remplirCasierAvecPersistanceDRSO(Casiers, listeNoeuds,listeMessageError); //-- etape 3: les branches et les sections de bransche --// - List<EMH> listeBranches=CrueDaoFillInfos.remplirBrancheAvecPersistanceDRSO(Branches, listeNoeuds); + List<EMH> listeBranches=CrueDaoFillInfos.remplirBrancheAvecPersistanceDRSO(Branches, listeNoeuds,listeMessageError); //-- etape 3: les sections a partir des sections cr\xE9es lors du remplissage des branches --// - List<EMH> listeSections= CrueDaoFillInfos.remplirSectionsAvecPersistanceDRSO(Sections, listeBranches); + List<EMH> listeSections= CrueDaoFillInfos.remplirSectionsAvecPersistanceDRSO(Sections, listeBranches,listeMessageError); Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java 2009-03-05 16:57:34 UTC (rev 4511) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java 2009-03-05 18:29:20 UTC (rev 4512) @@ -1,8 +1,12 @@ package main.java.org.fudaa.dodico.crue.dao; +import java.awt.Point; import java.util.ArrayList; import java.util.List; +import org.fudaa.ebli.geometrie.GrPoint; +import org.fudaa.ebli.ressource.EbliResource; + import com.lowagie.text.Section; import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDRSO.*; @@ -46,8 +50,11 @@ * @param data * @return */ - public static List remplirPersistanceAvecNoeudDRSO(List<EMH> data){ + public static List remplirPersistanceAvecNoeudDRSO(List<EMH> data,List<String> listeMessageError){ List listePersistante=new ArrayList(); + if(data==null || data.size()==0){ + listeMessageError.add(CrueRessource.getS("Noeuds: la liste est vide.")); + }else for(EMH emh:data ){ if(emh instanceof CatEMHNoeud){ CatEMHNoeud noeud=(CatEMHNoeud) emh; @@ -58,15 +65,19 @@ } return listePersistante; } - - + + /** * Methode qui remplit une arrayList d'objets m\xE9tier EMH noeuds a partir des donn\xE9es persistantes qui constituent la premiere partie du fichier DRSO: les Noeuds. * @param data * @return */ - public static List<EMH> remplirNoeudAvecPersistanceDRSO(List listePersistants ){ + public static List<EMH> remplirNoeudAvecPersistanceDRSO(List listePersistants,List<String> listeMessageError ){ List<EMH> listeEMH=new ArrayList(); + + if(listePersistants==null || listePersistants.size()==0){ + listeMessageError.add(CrueRessource.getS("Noeuds: la liste est vide.")); + }else for(Object persist:listePersistants ){ if(persist instanceof NoeudNiveauContinu){ NoeudNiveauContinu noeudPersist=(NoeudNiveauContinu) persist; @@ -76,16 +87,19 @@ } return listeEMH; } - - + + /** * Methode qui remplit une arrayList d'objets persistants qui constituent la deuxieme partie du fichier DRSO: les Branches. * @param data * @return */ - public static List remplirPersistanceAvecBrancheDRSO(List<EMH> data){ + public static List remplirPersistanceAvecBrancheDRSO(List<EMH> data,List<String> listeMessageError){ List listePersistante=new ArrayList(); + if(data==null || data.size()==0){ + listeMessageError.add(CrueRessource.getS("Branches: la liste est vide.")); + }else for(EMH emh:data ){ if(emh instanceof CatEMHBranche){ CatEMHBranche branche=(CatEMHBranche) emh; @@ -135,7 +149,7 @@ if(branche.getNoeudAval()!=null) br.NdAv=new NdAv(branche.getNoeudAval().getNom()); //-- on remplit les sections persistantes avec celle de la branche --// - br.Sections=CrueDaoFillInfos.remplirPersistanceAvecSectionsBrancheDRSO(branche.getListeSections()); + br.Sections=CrueDaoFillInfos.remplirPersistanceAvecSectionsBrancheDRSO(branche.getListeSections(),listeMessageError); listePersistante.add(br); } } @@ -143,9 +157,12 @@ return listePersistante; } - - public static List<EMH> remplirBrancheAvecPersistanceDRSO(List listePersistante,List<EMH> listeNoeuds){ + + public static List<EMH> remplirBrancheAvecPersistanceDRSO(List listePersistante,List<EMH> listeNoeuds,List<String> listeMessageError){ List<EMH> data=new ArrayList(); + if(listePersistante==null || listePersistante.size()==0){ + listeMessageError.add(CrueRessource.getS("Branches: la liste est vide.")); + }else for(Object objet:listePersistante ){ if(objet instanceof BrancheAbstract){ CatEMHBranche branche=null; @@ -153,73 +170,79 @@ String nom=branchePersist.Nom; if (branchePersist instanceof BrancheBarrageFilEau) { branche = new EMHBrancheBarrageFilEau(nom); - + }else if (branchePersist instanceof BrancheBarrageGenerique) { branche = new EMHBrancheBarrageGenerique(nom); - + }else if (branchePersist instanceof BrancheBarrageRhone) { branche = new EMHBrancheBarrageRhone(nom); - + }else if (branchePersist instanceof BrancheEnchainement) { branche = new EMHBrancheEnchainement(nom); - + }else if (branchePersist instanceof BrancheNiveauxAssocies) { branche = new EMHBrancheNiveauxAssocies(nom); - + }else if (branchePersist instanceof BrancheOrifice) { branche = new EMHBrancheOrifice(nom); - + }else if (branchePersist instanceof BranchePdc) { branche = new EMHBranchePdc(nom); - + }else if (branchePersist instanceof BrancheSaintVenant) { branche = new EMHBrancheSaintVenant(nom); - + }else if (branchePersist instanceof BrancheSeuilLateral) { branche = new EMHBrancheSeuilLongitudinale(nom); - + }else if (branchePersist instanceof BrancheSeuilTransversal) { branche = new EMHBrancheSeuilTransversal(nom); - + }else if (branchePersist instanceof BrancheStrickler) { branche = new EMHBrancheStrickler(nom); - + } if(branche!=null){ //-- commun --// - + branche.setActive(branchePersist.Active); //branche.setNom(branchePersist.Nom); if(branchePersist.NdAm!=null){ - CatEMHNoeud noeudAmont=CatEMHNoeud.findByReference(branchePersist.NdAm.NomRef, listeNoeuds); + CatEMHNoeud noeudAmont=CatEMHNoeud.findByReference(branchePersist.NdAm.NomRef, listeNoeuds); if(noeudAmont!=null) - branche.setNoeudAmont(noeudAmont); - } + branche.setNoeudAmont(noeudAmont); + else + listeMessageError.add(CrueRessource.getS("Branches: Impossible de trouver le noeud avec la r\xE9f\xE9rence "+branchePersist.NdAm.NomRef)); + }else + listeMessageError.add(CrueRessource.getS("Branches: Il n'y a pas de noeud amont pour la branche "+branche.getNom())); if(branchePersist.NdAv!=null){ - CatEMHNoeud noeudAval=CatEMHNoeud.findByReference(branchePersist.NdAv.NomRef, listeNoeuds); + CatEMHNoeud noeudAval=CatEMHNoeud.findByReference(branchePersist.NdAv.NomRef, listeNoeuds); if(noeudAval!=null) - branche.setNoeudAval(noeudAval); - } - + branche.setNoeudAval(noeudAval); + else + listeMessageError.add(CrueRessource.getS("Branches: Impossible de trouver le noeud avec la r\xE9f\xE9rence "+branchePersist.NdAv.NomRef)); + }else + listeMessageError.add(CrueRessource.getS("Branches: Il n'y a pas de noeud aval pour la branche "+branche.getNom())); + //-- on remplit les sections persistantes avec celle de la branche --// if(branchePersist.Sections!=null) - branche.setListeSections(CrueDaoFillInfos.remplirSectionsBrancheAvecPersistanceDRSO(branchePersist.Sections)); - - + branche.setListeSections(CrueDaoFillInfos.remplirSectionsBrancheAvecPersistanceDRSO(branchePersist.Sections,listeMessageError)); + + data.add(branche); } } } return data; } - + /** * Methode qui remplit une arrayList d'objets persistants qui constituent la troisi\xE8me partie du fichier DRSO: les Casier. * @param data * @return */ - public static List remplirPersistanceAvecCasierDRSO(List<EMH> data){ + public static List remplirPersistanceAvecCasierDRSO(List<EMH> data,List<String> listeMessageError){ List listePersistante=new ArrayList(); for(EMH emh:data ){ if(emh instanceof CatEMHCasier){ @@ -230,7 +253,7 @@ }else if(casier instanceof EMHCasierProfil){ casierPersist= new CasierProfil(); EMHCasierProfil casierProfil=(EMHCasierProfil) casier; - + ((CasierProfil)casierPersist).Profil= new ReferenceProfil(); ((CasierProfil)casierPersist).Profil.NomRef=casierProfil.getNomProfil(); } @@ -256,51 +279,57 @@ * @param data * @return */ - public static List<EMH> remplirCasierAvecPersistanceDRSO(List listePersistants,List<EMH> listeNoeuds ){ + public static List<EMH> remplirCasierAvecPersistanceDRSO(List listePersistants,List<EMH> listeNoeuds ,List<String> listeMessageError){ List<EMH> listeEMH=new ArrayList(); + if(listePersistants==null || listePersistants.size()==0){ + listeMessageError.add(CrueRessource.getS("Casiers: la liste est vide.")); + }else for(Object persist:listePersistants ){ if(persist instanceof CasierAbstract){ CasierAbstract casierPersist=(CasierAbstract) persist; String nom=casierPersist.Nom; //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// CatEMHCasier casier=null; - + //-- on recherche sa sp\xE9cialisation --// if(casierPersist instanceof CasierProfil){ casier=new EMHCasierProfil(nom); if(((CasierProfil)casierPersist).Profil!=null) - ((EMHCasierProfil)casier).setNomProfil(((CasierProfil)casierPersist).Profil.NomRef); + ((EMHCasierProfil)casier).setNomProfil(((CasierProfil)casierPersist).Profil.NomRef); }else if(casierPersist instanceof CasierMNT){ casier=new EMHCasierMNT(nom); } - + //-- commun aux objets --// if(casier!=null){ casier.setActive(casierPersist.Active); if(casierPersist.Noeud!=null){ String reference=casierPersist.Noeud.NomRef; - - + + CatEMHNoeud noeudRef=CatEMHNoeud.findByReference(reference, listeNoeuds); - if(noeudRef!=null) - casier.setNoeud(noeudRef); - } - + if(noeudRef!=null) + casier.setNoeud(noeudRef); + else + listeMessageError.add(CrueRessource.getS("Casier: Impossible de trouver le noeud avec la r\xE9f\xE9rence "+reference)); + } else + listeMessageError.add(CrueRessource.getS("Casier: Il n'y a pas de noeud pour le casier "+casier.getNom())); + listeEMH.add(casier); } } } return listeEMH; } - - - + + + /** * Methode qui remplit une arrayList d'objets persistants qui constituent la quatri\xE8me partie du fichier DRSO: les Sections-references. * @param data * @return */ - public static List remplirPersistanceAvecSectionsDRSO(List<EMH> data){ + public static List remplirPersistanceAvecSectionsDRSO(List<EMH> data,List<String> listeMessageError){ List listePersistante=new ArrayList(); for(EMH emh:data ){ if(emh instanceof CatEMHSection){ @@ -318,7 +347,7 @@ if(section instanceof EMHSectionSansGeometrie){ sectionPersist=new SectionRefSansGeometrie(); } - + //-- commun --// if(sectionPersist!=null){ sectionPersist.NomRef=section.getNom(); @@ -334,22 +363,22 @@ * @param data * @return */ - public static List<CatEMHSection> remplirSectionsBrancheAvecPersistanceDRSO(List listePersistantsBranches){ - - - + public static List<CatEMHSection> remplirSectionsBrancheAvecPersistanceDRSO(List listePersistantsBranches,List<String> listeMessageError){ List<CatEMHSection> listeEMH=new ArrayList<CatEMHSection>(); + if(listePersistantsBranches==null || listePersistantsBranches.size()==0){ + listeMessageError.add(CrueRessource.getS("Sections Branches: la liste est vide.")); + }else for(Object persist:listePersistantsBranches ){ if(persist instanceof SectionBrancheAbstract){ SectionBrancheAbstract sectionPersist=(SectionBrancheAbstract) persist; - + //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// CatEMHSection section=null; String nom=sectionPersist.NomRef; //-- on recherche sa sp\xE9cialisation --// if(sectionPersist instanceof SectionIdem){ section=new EMHSectionIdem(nom); - + }else if(sectionPersist instanceof SectionInterpolee){ section=new EMHSectionInterpolee(nom); }else if(sectionPersist instanceof SectionProfil){ @@ -357,10 +386,10 @@ }else if(sectionPersist instanceof SectionSansGeometrie){ section=new EMHSectionSansGeometrie(nom); } - + //-- commun aux objets --// if(section!=null){ - + if(sectionPersist.Pos!=null) section.setPosition(sectionPersist.Pos); section.setXp(sectionPersist.Xp); @@ -370,38 +399,45 @@ } return listeEMH; } - + /** * Methode qui remplit une arrayList d'objets m\xE9tier EMH sections a partir des donn\xE9es persistantes qui constituent a quatrieme partie du fichier DRSO: les Sections. * @param data * @return */ - public static List<EMH> remplirSectionsAvecPersistanceDRSO(List listePersistantsSection,List<EMH> listeBranches){ + public static List<EMH> remplirSectionsAvecPersistanceDRSO(List listePersistantsSection,List<EMH> listeBranches,List<String> listeMessageError){ List<EMH> listeEMH=new ArrayList<EMH>(); + if(listePersistantsSection==null || listePersistantsSection.size()==0){ + listeMessageError.add(CrueRessource.getS("Sections : la liste est vide.")); + }else for(Object persist:listePersistantsSection ){ if(persist instanceof SectionAbstract){ SectionAbstract sectionPersist=(SectionAbstract) persist; - + //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// CatEMHSection section=null; String reference=sectionPersist.NomRef; section=CatEMHSection.findByReferenceFromBrancheOrSectionEMH(reference, listeBranches); + + + if(section!=null) listeEMH.add(section); - + else + listeMessageError.add(CrueRessource.getS("Sections : Impossible de trouver la section de r\xE9f\xE9rence "+reference)); } } return listeEMH; } - - + + /** * Remplit les don\xE9nes persistantes avec la liste des sections d'une branche. * Remplit toutes les donn\xE9es associ\xE9es aux sections * @param data * @return */ - public static List remplirPersistanceAvecSectionsBrancheDRSO(List<CatEMHSection> data){ + public static List remplirPersistanceAvecSectionsBrancheDRSO(List<CatEMHSection> data,List<String> listeMessageError){ List listePersistante=new ArrayList(); for(EMH emh:data ){ if(emh instanceof CatEMHSection){ @@ -419,28 +455,28 @@ if(section instanceof EMHSectionSansGeometrie){ sectionPersist=new SectionSansGeometrie(); } - + //-- commun --// if(sectionPersist!=null){ sectionPersist.NomRef=section.getNom(); - - sectionPersist.Pos=section.getPosition(); - sectionPersist.Xp=section.getXp(); - - + + sectionPersist.Pos=section.getPosition(); + sectionPersist.Xp=section.getXp(); + + listePersistante.add(sectionPersist); } } } return listePersistante; } - + /** * remplir le fichier DFRT avec les frottemetns * @param data * @return */ - public static List<StriRefPersist> remplirPersistanceAvecFrottemetnsDFRT(List<DonFrt> data){ + public static List<StriRefPersist> remplirPersistanceAvecFrottemetnsDFRT(List<DonFrt> data,List<String> listeMessageError){ List<StriRefPersist> listeFrottement=new ArrayList<StriRefPersist>(); for(DonFrt frt:data){ StriRefPersist persist=null; @@ -452,13 +488,19 @@ else if(frt instanceof StriRefZ) persist=new StriRefZPersist(frt.getNom()); - + //-- commun --// if(persist!=null){ - persist.listePoints=frt.getListePoints(); + 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; } @@ -468,8 +510,11 @@ * @param data * @return */ - public static List<DonFrt> remplirFrottemetnsAvecPersistanceDFRT(List<StriRefPersist> persistListe){ + public static List<DonFrt> remplirFrottemetnsAvecPersistanceDFRT(List<StriRefPersist> persistListe,List<String> listeMessageError){ List<DonFrt> data=new ArrayList<DonFrt>(); + if(persistListe==null || persistListe.size()==0){ + listeMessageError.add(CrueRessource.getS("Frottements : la liste est vide.")); + }else for(StriRefPersist persist:persistListe){ DonFrt frt=null; if(persist instanceof StriRefCPersist) @@ -480,16 +525,42 @@ else if(persist instanceof StriRefZPersist) frt=new StriRefZ(persist.Nom); - + //-- commun --// if(persist!=null){ - if(persist.listePoints!=null) - frt.setListePoints(persist.listePoints); + 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){ + listeMessageError.add(CrueRessource.getS("Frottement: "+frt.getNom()+": impossible de r\xE9cup\xE9rer le r\xE9el du contenu: "+buff)); + } + 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)); + } + listePoints.add(new GrPoint(x,y,0)); + + } + + + frt.setListePoints(listePoints); + } data.add(frt); } - + } return data; } - + } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoOPTG.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoOPTG.java 2009-03-05 16:57:34 UTC (rev 4511) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoOPTG.java 2009-03-05 18:29:20 UTC (rev 4512) @@ -4,6 +4,7 @@ import java.io.FileWriter; import java.io.IOException; import java.io.ObjectOutputStream; +import java.util.List; import main.java.org.fudaa.dodico.crue.metier.emh.ElemSeuil; @@ -36,13 +37,7 @@ double RegleVarPdxMax; double ReglePenteMax; - /** - * Prend en parametre un objet m\xE9tier correspondant: - */ - public CrueDaoOPTG(ElemSeuil element){ - //-- appel a fillInfosWith --// - fillInfosWith(element); - } + public XStream initXmlParser(){ @@ -54,12 +49,12 @@ - public void fillInfosWith(ElemSeuil data) { + public void fillInfosWith(ElemSeuil data,List<String> listeMessageError) { // TODO Auto-generated method stub } - public ElemSeuil fillInfosWithPersistant() { + public ElemSeuil fillInfosWithPersistant(List<String> listeMessageError) { // TODO Auto-generated method stub return null; } 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-05 16:57:34 UTC (rev 4511) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoParsing.java 2009-03-05 18:29:20 UTC (rev 4512) @@ -6,6 +6,8 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; +import java.util.ArrayList; +import java.util.List; import main.java.org.fudaa.dodico.crue.metier.emh.ElemSeuil; @@ -20,7 +22,8 @@ */ public abstract class CrueDaoParsing<T> { - + public String VersionCrue="0.0"; + public String Commentaire="G\xE9n\xE9r\xE9 par Fudaa "; /** * Initiazlise le parser xstream avec les bons alias des noms de balises. * @return @@ -32,20 +35,20 @@ * Cette m\xE9thode est appel\xE9e dans le constructeur. * @param data */ - abstract void fillInfosWith(T data); + abstract void fillInfosWith(T data,List<String> listeMessageError); /** * Cr\xE9e une structure m\xE9tier \xE0 partir des informations persistantes. * Utiliser poru le remplissage de la structure m\xE9tier apr\xE8s lecture du fichier xml. * @return */ - abstract T fillInfosWithPersistant(); + abstract T fillInfosWithPersistant(List<String> listeMessageError); /** * Execute la persistance des donn\xE9es dans le fichier donn\xE9 en parametre. * @return */ - public boolean persistData(File fichier) { + public boolean persistData(File fichier,List<String> listeMessageError) { boolean isOk=true; ObjectOutputStream out=null; try { @@ -55,6 +58,7 @@ } catch (IOException e) { // TODO Auto-generated catch block FuLog.debug(e.getMessage()); + listeMessageError.add(e.getMessage()); isOk=false; } finally{ @@ -64,6 +68,7 @@ } catch (IOException e) { // TODO Auto-generated catch block FuLog.debug(e.getMessage()); + listeMessageError.add(e.getMessage()); } } return false; @@ -74,7 +79,7 @@ * @param fichier * @return */ - public T getPersistData(File fichier){ + public T getPersistData(File fichier,List<String> listeMessageError){ //-- la data a r\xE9cup\xE9rer --// T newData=null; boolean isOk=true; @@ -85,14 +90,16 @@ CrueDaoParsing<T> dataPersistante=(CrueDaoParsing<T>) in.readObject(); //-- on genere la donn\xE9es m\xE9tier a partir de la donnee persistante--// - newData=dataPersistante.fillInfosWithPersistant(); + newData=dataPersistante.fillInfosWithPersistant(listeMessageError); } catch (IOException e) { // TODO Auto-generated catch block FuLog.debug(e.getMessage()); + listeMessageError.add(e.getMessage()); isOk=false; } catch (ClassNotFoundException e) { // TODO Auto-generated catch block FuLog.debug(e.getMessage()); + listeMessageError.add(e.getMessage()); isOk=false; } finally{ @@ -102,6 +109,7 @@ } catch (IOException e) { // TODO Auto-generated catch block FuLog.debug(e.getMessage()); + listeMessageError.add(e.getMessage()); } } return null; Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueRessource.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueRessource.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueRessource.java 2009-03-05 18:29:20 UTC (rev 4512) @@ -0,0 +1,65 @@ +package main.java.org.fudaa.dodico.crue.dao; + +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 CR = new CrueRessource(BuResource.BU); + + 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 String getMeshName() { + return CrueRessource.getS("Meshview"); + } + + public static BuIcon getSupervisorIcon() { + return EbliResource.EBLI.getIcon("crue-super"); + } + + public static BuIcon getCrueIcon() { + return EbliResource.EBLI.getIcon("crue-post"); + } + + 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"); + } + +} Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDFRT.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDFRT.java 2009-03-05 16:57:34 UTC (rev 4511) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDFRT.java 2009-03-05 18:29:20 UTC (rev 4512) @@ -47,7 +47,7 @@ xstream.alias("StriRefH", StriRefHPersist.class); //-- custom pour les points grpoint qui composent le fichier --// - xstream.alias("PointFF", Point.class); + xstream.alias("PointFF", StringBuffer.class); //-- il faut virer le type liste pour forcer a afficher les balises sans balises couvrantes --// xstream.addImplicitCollection(CrueDaoDFRT.class, "listeFrottement"); @@ -59,7 +59,7 @@ public static abstract class StriRefPersist { public String Nom; - public List<Point> listePoints; + public List<StringBuffer> listePoints; public StriRefPersist(String nom){ Nom=nom; } Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDPTI.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDPTI.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDPTI.java 2009-03-05 18:29:20 UTC (rev 4512) @@ -0,0 +1,323 @@ +package main.java.org.fudaa.dodico.crue.dao; + +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.converters.SingleValueConverter; + +/** + * Toutes les structures dao utilis\xE9es et les inits du parser xml pour le format DPTI. + * Toutes ces structures sont n\xE9cessaires pour bien formatter le contenu xml. + * Ici il n'y a pas besoin de d\xE9finir de sttructures suppl\xE9mentaires. + * @author Adrien Hadoux + * + */ +public class DaoStructuresFormatDPTI { + + + public void initXmlParserForDRSO(XStream xstream ){ + //-- creation des alias pour que ce soit + parlant dans le xml file --// + xstream.alias("DPTI", CrueDaoDRSO.class); + //-- liste des initialisations n\xE9cessaires pour le formattage des donn\xE9es--// + initXmlParserNode(xstream); + initXmlParserBranche(xstream); + initXmlParserCasier(xstream); + initXmlParserSection(xstream); + } + + /** + * init parser pour les nodes et pouvoir mettre l'attribut Nom en d\xE9but de balise. + * @param xstream + */ + public void initXmlParserNode(XStream xstream ){ + //-- alias gestion pour les noeuds --// + 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, "NomRef"); + xstream.registerConverter(new NoeudNiveauContinuConverter()); + } + + /** + * Init le parser avec les infos des branches. + * @param xstream + */ + public void initXmlParserBranche(XStream xstream ){ + //-- gestion des branches --// + xstream.alias("BrancheSaintVenant", BrancheSaintVenant.class); + xstream.alias("BrancheSeuilLateral", BrancheSeuilLateral.class); + xstream.alias("BrancheStrickler", BrancheStrickler.class); + xstream.alias("BrancheOrifice", BrancheOrifice.class); + xstream.alias("BrancheSeuilTransversal", BrancheSeuilTransversal.class); + xstream.alias("BrancheBarrageFilEau", BrancheBarrageFilEau.class); + xstream.alias("BranchePdc", BranchePdc.class); + xstream.alias("BrancheBarrageGenerique",BrancheBarrageGenerique.class); + + //-- mettre attribut Nom comme attribut de la balise branche,noeud et section et son converter appropri\xE9 --// + + //-- mettre le nom de la branche dans la balise --// + xstream.useAttributeFor(BrancheAbstract.class, "NomRef"); + xstream.registerConverter(new BrancheSaintVenantConverter()); + xstream.registerConverter(new BrancheSeuilLateralConverter()); + xstream.registerConverter(new BrancheStricklerConverter()); + xstream.registerConverter(new BrancheOrificeConverter()); + xstream.registerConverter(new BrancheSeuilTransversalConverter()); + xstream.registerConverter(new BrancheBarrageFilEauConverter()); + xstream.registerConverter(new BranchePdcConverter()); + xstream.registerConverter(new BrancheBarrageGeneriqueConverter()); + xstream.registerConverter(new BrancheBarrageRhoneConverter()); + xstream.registerConverter(new BrancheEnchainementConverter()); + xstream.registerConverter(new BrancheNiveauxAssociesConverter()); + } + /** + * Init le parser avec les infos des casiers. + * @param xstream + */ + public void initXmlParserCasier(XStream xstream ){ + xstream.alias("CasierProfil", CasierProfil.class); + xstream.alias("CasierMNT", CasierMNT.class); + xstream.useAttributeFor(CasierAbstract.class, "NomRef"); + xstream.registerConverter(new CasierProfilConverter()); + xstream.registerConverter(new CasierMNTConverter()); + } + + + /** + * Init le parser avec les infos des sections. + * @param xstream + */ + public void initXmlParserSection(XStream xstream ){ + //-- gestion des sections --// + xstream.alias("SectionIdem", SectionRefIdem.class); + xstream.alias("SectionSansGeometrie", SectionRefSansGeometrie.class); + xstream.alias("SectionProfil", SectionRefProfil.class); + xstream.alias("SectionInterpolee", SectionRefInterpolee.class); + xstream.alias("SectionPilote", SectionRefPilote.class); + + xstream.useAttributeFor(SectionAbstract.class, "NomRef"); + xstream.registerConverter(new SectionRefIdemConverter()); + xstream.registerConverter(new SectionRefSansGeometrieConverter()); + xstream.registerConverter(new SectionRefProfilConverter()); + xstream.registerConverter(new SectionRefInterpoleeConverter()); + xstream.registerConverter(new SectionRefPiloteConverter()); + } + + + + public static class NoeudNiveauContinu{ + public String NomRef; + public Double Zini; + } + + + + /** + * Il faut cr\xE9er et ajouter ce converter pour inclure le nom du noeud niveau continu dans le fichier xml + */ + public class NoeudNiveauContinuConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((NoeudNiveauContinu) obj).NomRef; + } + public Object fromString(String name) { + NoeudNiveauContinu n=new NoeudNiveauContinu(); + n.NomRef=name; + return n; + } + public boolean canConvert(Class type) { + return type.isInstance(NoeudNiveauContinu.class); + } +} + + + //*************************GESTION DES BRANCHES ************************* + + /** + * Element branche possible + * @author Adrien Hadoux + * + */ + public static class BrancheAbstract{ + public String NomRef; + public Double Qini; + public Double Qruis; + + + } + + + public static class BrancheSaintVenant extends BrancheAbstract{} + public static class BrancheSeuilLateral extends BrancheAbstract{} + public static class BrancheStrickler extends BrancheAbstract{} + public static class BrancheOrifice extends BrancheAbstract{ + public Double OuvPasseDessous; + } + public static class BrancheSeuilTransversal extends BrancheAbstract{} + public static class BrancheBarrageFilEau extends BrancheAbstract{} + public static class BranchePdc extends BrancheAbstract{} + + public static class BrancheBarrageGenerique extends BrancheAbstract{} + public static class BrancheBarrageRhone extends BrancheAbstract{} + public static class BrancheEnchainement extends BrancheAbstract{} + public static class BrancheNiveauxAssocies extends BrancheAbstract{} + /** + * le converter abstract pour les branches. + * Il faudra ensuite en d\xE9clarer un pour chaque type de branche afin de cr\xE9er le bon type de modele. + * @author Adrien Hadoux + * + */ + public abstract class BrancheConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((BrancheAbstract) obj).NomRef; + } + public abstract Object fromString(String name); + public boolean canConvert(Class type) { + return type.isInstance(BrancheAbstract.class); + }} + + + + + public class BrancheSaintVenantConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheSaintVenant branche=new BrancheSaintVenant(); + branche.NomRef=name; + return branche;}} + public class BrancheSeuilLateralConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheSeuilLateral branche=new BrancheSeuilLateral(); + branche.NomRef=name; + return branche;}} + + public class BrancheStricklerConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheStrickler branche=new BrancheStrickler(); + branche.NomRef=name; + return branche;}} + + public class BrancheOrificeConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheOrifice branche=new BrancheOrifice(); + branche.NomRef=name; + return branche;}} + + public class BrancheSeuilTransversalConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheSeuilTransversal branche=new BrancheSeuilTransversal(); + branche.NomRef=name; + return branche;}} + + public class BrancheBarrageFilEauConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheBarrageFilEau branche=new BrancheBarrageFilEau(); + branche.NomRef=name; + return branche;}} + + public class BranchePdcConverter extends BrancheConverter { + public Object fromString(String name) { + BranchePdc branche=new BranchePdc(); + branche.NomRef=name; + return branche;}} + + public class BrancheBarrageGeneriqueConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheBarrageGenerique branche=new BrancheBarrageGenerique(); + branche.NomRef=name; + return branche;}} + + public class BrancheBarrageRhoneConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheBarrageRhone branche=new BrancheBarrageRhone(); + branche.NomRef=name; + return branche;}} + + public class BrancheEnchainementConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheEnchainement branche=new BrancheEnchainement(); + branche.NomRef=name; + return branche;}} + + public class BrancheNiveauxAssociesConverter extends BrancheConverter { + public Object fromString(String name) { + BrancheNiveauxAssocies branche=new BrancheNiveauxAssocies(); + branche.NomRef=name; + return branche;}} + + + //*************************GESTION DES CASIERS ************************* + public static class CasierAbstract{ + public String NomRef; + public Double Qruis; + } + public static class CasierProfil extends CasierAbstract{ + + } + public static class CasierMNT extends CasierAbstract{} + + public abstract class CasierAbstractConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((CasierAbstract) obj).NomRef; } + public abstract Object fromString(String name); + public boolean canConvert(Class type) { + return type.isInstance(CasierAbstract.class); + }} + public class CasierProfilConverter extends CasierAbstractConverter { + public Object fromString(String name){ + CasierProfil casier=new CasierProfil(); + casier.NomRef=name; + return casier; } } + + public class CasierMNTConverter extends CasierAbstractConverter { + public Object fromString(String name){ + CasierMNT casier=new CasierMNT(); + casier.NomRef=name; + return casier; } } + + + //*************************GESTION DES SECTIONS ************************* + public static class SectionAbstract{ + public String NomRef; + + } + public static class SectionRefIdem extends SectionAbstract{} + public static class SectionRefInterpolee extends SectionAbstract{} + public static class SectionRefProfil extends SectionAbstract{} + public static class SectionRefSansGeometrie extends SectionAbstract{} + public static class SectionRefPilote extends SectionAbstract{} + + public abstract class SectionRefConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((SectionAbstract) obj).NomRef; + } + public abstract Object fromString(String name); + public boolean canConvert(Class type) { + return type.isInstance(SectionAbstract.class); + }} + public class SectionRefIdemConverter extends SectionRefConverter{ + public Object fromString(String name) { + SectionRefIdem section=new SectionRefIdem(); + section.NomRef=name; + return section;}} + + public class SectionRefInterpoleeConverter extends SectionRefConverter{ + public Object fromString(String name) { + SectionRefInterpolee section=new SectionRefInterpolee(); + section.NomRef=name; + return section;}} + + public class SectionRefProfilConverter extends SectionRefConverter{ + public Object fromString(String name) { + SectionRefProfil section=new SectionRefProfil(); + section.NomRef=name; + return section;}} + + public class SectionRefSansGeometrieConverter extends SectionRefConverter{ + public Object fromString(String name) { + SectionRefSansGeometrie section=new SectionRefSansGeometrie(); + section.NomRef=name; + return section;}} + + public class SectionRefPiloteConverter extends SectionRefConverter{ + public Object fromString(String name) { + SectionRefPilote section=new SectionRefPilote(); + section.NomRef=name; + return section;}} + +} Added: 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 (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/ValidatorXml.java 2009-03-05 18:29:20 UTC (rev 4512) @@ -0,0 +1,120 @@ +package main.java.org.fudaa.dodico.crue.dao.validatorXML; + +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.util.List; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import org.jdom.Document; +import org.xml.sax.ErrorHandler; +import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; + +import com.memoire.fu.FuLog; + +/** + * Classe validator xml qui utilise les xsd pour v\xE9rifier que le fichier est valide. + * @author Adrien Hadoux + * + */ +public class ValidatorXml { + + static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage"; + static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema"; + static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource"; + static boolean isValid=true; + /** + * ref vers le fichier xsd DFRT. + */ + static final String xsdDFRT="valideDFRT.xsd"; + + + + /** + * valide fichier dfrt + * @param xmlFile + * @return + */ + public static boolean validDFRT(String xmlFile,List<String> listeMessageError){ return validXMLWithDOM(xmlFile, xsdDFRT, listeMessageError);} + + /** + * Initialise le validator avec els infos et le bon fichier xsd + * @param factory + * @param xsdFile + */ + public static void initXmlValidator(DocumentBuilderFactory factory ,String xsdFile){ + factory.setIgnoringComments(true); + factory.setNamespaceAware(true); + factory.setValidating(true); + factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); + File fichier= ValidatorXml.getFile(xsdFile) ; + + factory.setAttribute(JAXP_SCHEMA_SOURCE, fichier); + } + + /** + * recupere la bonne xsd + * @param fileName + * @return + */ + public static File getFile(String fileName){ + File file= null; + URL url = ValidatorXml.class.getResource(fileName); + file = new File(url.getFile()); + return file; + } + + + /** + * Realise la validation avec le bon fichier xsd + * @param xmlFile + * @param xsdFile + * @return + */ + public static boolean validXMLWithDOM(String xmlFile, String xsdFile,final List<String> listeMessageError) { + isValid = true; // Valide jusqu'\xE0 ce qu'une erreur se produise ! + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + //-- on init la factory DOM --// + ValidatorXml.initXmlValidator(dbf, xsdFile); + try { + // Parsage du fichier XML avec DOM + DocumentBuilder db = dbf.newDocumentBuilder(); + db.setErrorHandler(new ErrorHandler() { + public void fatalError(SAXParseException e) { + FuLog.debug("Erreur de validation XSD - Erreur fatal"); + listeMessageError.add(e.getMessage()); + isValid = false; + } + public void error(SAXParseException e) { + FuLog.debug("Erreur de validation XSD - Erreur"); + listeMessageError.add(e.getMessage()); + isValid = false; + } + public void warning(SAXParseException e) { + FuLog.debug("Erreur de validation XSD - Warning"); + listeMessageError.add(e.getMessage()); + isValid = false; + } + }); + org.w3c.dom.Document doc = db.parse(new File(xmlFile)); + } catch (ParserConfigurationException pcee) { + FuLog.debug(pcee.getMessage()); + listeMessageError.add(pcee.getMessage()); + return false; + } catch (IOException ioe) { + FuLog.debug(ioe.getMessage()); + listeMessageError.add(ioe.getMessage()); + return false; + } catch (SAXException saxe) { + FuLog.debug(saxe.getMessage()); + listeMessageError.add(saxe.getMessage()); + return false; + } + return isValid; + } + +} Added: 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/valideDFRT.xsd (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/valideDFRT.xsd 2009-03-05 18:29:20 UTC (rev 4512) @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.example.org/valideDFRT/" targetNamespace="http://www.example.org/valideDFRT/"> + + <complexType name="StriRefC"> + <sequence> + <element name="PointFF" type="tns:PointFF" maxOccurs="unbounded" minOccurs="1"></element> + </sequence></complexType> + + <complexType name="StriRefZ"> + <sequence> + <element name="PointFF" type="tns:PointFF"></element> + </sequence> + </complexType> + + <complexType name="StriRefH"> + <sequence> + <element name="PointFF" type="tns:PointFF" maxOccurs="unbounded" minOccurs="1"></element> + </sequence> + </complexType> + + <complexType name="PointFF"> + <sequence> + <element name="x" type="double"></element> + <element name="y" type="double"></element> + </sequence> + </complexType> + + <complexType name="DFRT"> + <sequence> + <element name="StriRefH" type="tns:StriRefH" + maxOccurs="unbounded" minOccurs="0"> + </element> + <element name="StriRefZ" type="tns:StriRefZ" + maxOccurs="unbounded" minOccurs="0"> + </element> + <element name="StriRefC" type="tns:StriRefC" maxOccurs="unbounded" minOccurs="0"></element> + </sequence> + </complexType> + + <complexType name="Fichier"> + <sequence> + <element name="DFRT" type="tns:DFRT" maxOccurs="1" minOccurs="1"></element> + </sequence> + </complexType> + + <element name="Fichier" type="tns:Fichier"></element> + + <element name="DFRT" type="tns:DFRT"></element> + + <element name="PointFF" type="tns:PointFF"></element> + + <element name="StriRefC" type="tns:StriRefC"></element> + + <element name="StriRefZ" type="tns:StriRefZ"></element> + + <element name="StriRefH" type="tns:StriRefH"></element> +</schema> \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java 2009-03-05 16:57:34 UTC (rev 4511) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java 2009-03-05 18:29:20 UTC (rev 4512) @@ -29,6 +29,41 @@ private CatEMHNoeud noeudAmont_; private CatEMHNoeud noeudAval_; + /** + * Conditions initiales et manoeuvres aux branches (DPTI) + */ + private double Qini_; + /** + * Conditions initiales et manoeuvres aux branches (DPTI) + */ + private double Qruis_; + + + + public double getQini() { + return Qini_; + } + + + + public void setQini(double qini) { + Qini_ = qini; + } + + + + public double getQruis() { + return Qruis_; + } + + + + public void setQruis(double qruis) { + Qruis_ = qruis; + } + + + public CatEMHBranche(String nom) { super(nom); // TODO Auto-generated constructor stub Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java 2009-03-05 16:57:34 UTC (rev 4511) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java 2009-03-05 18:29:20 UTC (rev 4512) @@ -10,6 +10,23 @@ private boolean isActive_; private CatEMHNoeud noeud_; +/** + * Conditions initiales aux casiers + */ +private double qruis_; + +public double getQruis() { + return qruis_; +} + + + +public void setQruis(double qruis) { + this.qruis_ = qruis; +} + + + public CatEMHCasier(String nom) { super(nom); // TODO Auto-generated constructor stub Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java 2009-03-05 16:57:34 UTC (rev 4511) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java 2009-03-05 18:29:20 UTC (rev 4512) @@ -9,10 +9,21 @@ */ public class CatEMHNoeud extends EMH{ - + /** + * Conditions initiales et manoeuvres aux noeuds (DPTI) + */ + double Zini_; + public double getZini() { + return Zini_; + } + + public void setZini(double zini) { + Zini_ = zini; + } + public CatEMHNoeud(String nom) { super(nom); Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java 2009-03-05 16:57:34 UTC (rev 4511) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java 2009-03-05 18:29:20 UTC (rev 4512) @@ -12,7 +12,7 @@ * */ public abstract class DonFrt { - protected List<Point> point_; + protected List<GrPoint> point_; /** * reference. */ @@ -20,7 +20,7 @@ public DonFrt(String nom){ nom_=nom; - point_=new ArrayList<Point>(); + point_=new ArrayList<GrPoint>(); } public String getNom() { @@ -31,28 +31,25 @@ this.nom_ = nom; } - public Point getPoint(int i) { + public GrPoint getPoint(int i) { return point_.get(i); } - public GrPoint getGrPoint(int i) { - GrPoint val=new GrPoint(point_.get(i).x,point_.get(i).y,0); - return val; - } - public void setPoint(Point point,int i) { + + public void setPoint(GrPoint point,int i) { this.point_.set(i, point); } - public boolean addPoint(Point p){ + public boolean addPoint(GrPoint p){ return point_.add(p); } - public List<Point> getListePoints(){ + public List<GrPoint> getListePoints(){ return point_; } - public void setListePoints( List<Point> liste){ + public void setListePoints( List<GrPoint> liste){ point_=liste; } } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/... [truncated message content] |
From: <had...@us...> - 2009-03-06 18:46:18
|
Revision: 4516 http://fudaa.svn.sourceforge.net/fudaa/?rev=4516&view=rev Author: hadouxad Date: 2009-03-06 18:45:46 +0000 (Fri, 06 Mar 2009) Log Message: ----------- persistence dpti mise en place des controlleurs xsd test unitaires strict test avec donnes erronnes pour eprouver les moulinettes Modified Paths: -------------- 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/dao/CrueDaoDFRT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDPTI.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoOPTG.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/DaoStructuresFormatDFRT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDPTI.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/valideDFRT.xsd branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHBranche.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHNoeud.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheOrifice.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/reader/Crue10reader.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/writer/Crue10writer.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/CruePersistanceErrorManager.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/TestCrueDRSOFile.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueFactoryDao.java 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/valideTest.xsd 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/TestCrueDPTIFile.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 Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java 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-06 14:58:09 UTC (rev 4515) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Questions-ModelisationDonnees.txt 2009-03-06 18:45:46 UTC (rev 4516) @@ -39,5 +39,7 @@ Est ce que cette r\xE8gle est g\xE9n\xE9rale? c'est \xE0 dire que tous les objets de dpti sont des r\xE9f\xE9rences de drso et qu'ils ont toujours le mot clef DRSO# devant ? - Balises <Branches>,fichier modele3.dpti.xml: la balise <BrancheOrifice> contient la balise <OuvPasseDessous> de plus que les autres types de branches. - Est-ce bien la seule \xE0 poss\xE9der ce type de balise ou toutes peuvent les poss\xE9der? y'a t'il d'autres cas particuliers comme celui-ci pour les branches ? + Est-ce bien la seule \xE0 poss\xE9der ce type de balise ou toutes peuvent les poss\xE9der? y'a t'il d'autres cas particuliers comme celui-ci pour les branches ? + - Balises <Sections>, fichier modele3.dpti.xml: les sections sont vides. Est ce normal ou cas particulier? Si non Quelles donn\xE9es fournit-on pour les sections dans le fichier dpti (pas d'autres fichier dpti exemples pour les mod\xE8les 4 et 5.) + \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDFRT.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDFRT.java 2009-03-06 14:58:09 UTC (rev 4515) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDFRT.java 2009-03-06 18:45:46 UTC (rev 4516) @@ -29,13 +29,13 @@ public void fillInfosWith(List<DonFrt> data,List<String> listeMessageError) { - listeFrottement=CrueDaoFillInfos.remplirPersistanceAvecFrottemetnsDFRT(data,listeMessageError); + listeFrottement=CrueFactoryDao.remplirPersistanceAvecFrottemetnsDFRT(data,listeMessageError); } - public List<DonFrt> fillInfosWithPersistant(List<String> listeMessageError) { - return CrueDaoFillInfos.remplirFrottemetnsAvecPersistanceDFRT(listeFrottement,listeMessageError); + public List<DonFrt> fillInfosWithPersistant(Object data,List<String> listeMessageError) { + return CrueFactoryDao.remplirFrottemetnsAvecPersistanceDFRT(listeFrottement,listeMessageError); } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDPTI.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDPTI.java 2009-03-06 14:58:09 UTC (rev 4515) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDPTI.java 2009-03-06 18:45:46 UTC (rev 4516) @@ -1,8 +1,10 @@ package main.java.org.fudaa.dodico.crue.dao; +import java.util.ArrayList; import java.util.List; import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.DomDriver; import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheAbstract; import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.CasierAbstract; @@ -20,9 +22,11 @@ */ public class CrueDaoDPTI extends CrueDaoParsing<List<EMH>>{ + /** + * 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_DRSO="DRSO#"; - - /** * la liste des noeuds */ @@ -45,21 +49,55 @@ private List<SectionAbstract> Sections; @Override - void fillInfosWith(List<EMH> data, List<String> listeMessageError) { + public void fillInfosWith(List<EMH> data, List<String> listeMessageError) { // TODO Auto-generated method stub + //-- etape 1: on remplit les infso des noeuds --// + Noeuds=CrueFactoryDao.remplirPersistanceAvecNoeudDPTI(data,listeMessageError); + //-- etape 2: on remplit les infso des branches --// + Branches=CrueFactoryDao.remplirPersistanceAvecBrancheDPTI(data,listeMessageError); + + + //-- etape 3: on remplit les infso des casiers --// + Casiers=CrueFactoryDao.remplirPersistanceAvecCasierDPTI(data,listeMessageError); + + + //-- etape 4: on remplit les infso des sections --// + Sections=new ArrayList<SectionAbstract>(); } @Override - List<EMH> fillInfosWithPersistant(List<String> listeMessageError) { - // TODO Auto-generated method stub - return null; + List<EMH> fillInfosWithPersistant(Object data,List<String> listeMessageError) { + + if(data==null || ! (data instanceof List)){ + listeMessageError.add(CrueRessource.getS("Impossible de r\xE9cup\xE9rer les donn\xE9es r\xE9saux (DRSO). Les r\xE9f\xE9rences du fichier DPTI ne pourront etre utilis\xE9es.")); + return null; + } + List<EMH> listeEMHDRSO=(List<EMH> )data; + + //-- remplissage des noeuds --// + CrueFactoryDao.remplirNoeudAvecPersistanceDPTI(Noeuds,listeEMHDRSO,listeMessageError); + + //-- remplissage des branches --// + CrueFactoryDao.remplirBrancheAvecPersistanceDPTI(Branches, listeEMHDRSO,listeMessageError); + + + //-- remplissage des casiers --// + CrueFactoryDao.remplirCasierAvecPersistanceDPTI(Casiers, listeEMHDRSO, listeMessageError); + + //-- remplissage des sections --// + + //TODO pour le moment rien mais il faudrait demander des pr\xE9cisions --// + + return listeEMHDRSO; } @Override - XStream initXmlParser() { - // TODO Auto-generated method stub - return null; + public XStream initXmlParser() { + XStream xstream = new XStream(new DomDriver()); + //-- init du parser --// + (new DaoStructuresFormatDPTI()).initXmlParserForDPTI(xstream); + return xstream; } } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java 2009-03-06 14:58:09 UTC (rev 4515) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java 2009-03-06 18:45:46 UTC (rev 4516) @@ -53,18 +53,18 @@ public void fillInfosWith(List<EMH> data,List<String> listeMessageError) { //-- etape 1: on remplit les infso des noeuds --// - Noeuds=CrueDaoFillInfos.remplirPersistanceAvecNoeudDRSO(data,listeMessageError); + Noeuds=CrueFactoryDao.remplirPersistanceAvecNoeudDRSO(data,listeMessageError); //-- etape 2: on remplit les infso des branches --// - Branches=CrueDaoFillInfos.remplirPersistanceAvecBrancheDRSO(data,listeMessageError); + Branches=CrueFactoryDao.remplirPersistanceAvecBrancheDRSO(data,listeMessageError); //-- etape 3: on remplit les infso des casiers --// - Casiers=CrueDaoFillInfos.remplirPersistanceAvecCasierDRSO(data,listeMessageError); + Casiers=CrueFactoryDao.remplirPersistanceAvecCasierDRSO(data,listeMessageError); //-- etape 4: on remplit les infso des sections --// - Sections=CrueDaoFillInfos.remplirPersistanceAvecSectionsDRSO(data,listeMessageError); + Sections=CrueFactoryDao.remplirPersistanceAvecSectionsDRSO(data,listeMessageError); @@ -72,23 +72,23 @@ } @Override - public List<EMH> fillInfosWithPersistant(List<String> listeMessageError) { + public List<EMH> fillInfosWithPersistant(Object data,List<String> listeMessageError) { List<EMH> listeCompleteEMH=new ArrayList<EMH>(); //-- etape 1: on remplit les infso des noeuds --// - List<EMH> listeNoeuds=CrueDaoFillInfos.remplirNoeudAvecPersistanceDRSO(Noeuds,listeMessageError); + List<EMH> listeNoeuds=CrueFactoryDao.remplirNoeudAvecPersistanceDRSO(Noeuds,listeMessageError); //-- etape 2: les casiers --// - List<EMH> listeCasiers=CrueDaoFillInfos.remplirCasierAvecPersistanceDRSO(Casiers, listeNoeuds,listeMessageError); + List<EMH> listeCasiers=CrueFactoryDao.remplirCasierAvecPersistanceDRSO(Casiers, listeNoeuds,listeMessageError); //-- etape 3: les branches et les sections de bransche --// - List<EMH> listeBranches=CrueDaoFillInfos.remplirBrancheAvecPersistanceDRSO(Branches, listeNoeuds,listeMessageError); + List<EMH> listeBranches=CrueFactoryDao.remplirBrancheAvecPersistanceDRSO(Branches, listeNoeuds,listeMessageError); //-- etape 3: les sections a partir des sections cr\xE9es lors du remplissage des branches --// - List<EMH> listeSections= CrueDaoFillInfos.remplirSectionsAvecPersistanceDRSO(Sections, listeBranches,listeMessageError); + List<EMH> listeSections= CrueFactoryDao.remplirSectionsAvecPersistanceDRSO(Sections, listeBranches,listeMessageError); Deleted: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java 2009-03-06 14:58:09 UTC (rev 4515) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java 2009-03-06 18:45:46 UTC (rev 4516) @@ -1,566 +0,0 @@ -package main.java.org.fudaa.dodico.crue.dao; - -import java.awt.Point; -import java.util.ArrayList; -import java.util.List; - -import org.fudaa.ebli.geometrie.GrPoint; -import org.fudaa.ebli.ressource.EbliResource; - -import com.lowagie.text.Section; - -import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDRSO.*; -import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDFRT.*; -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; -import main.java.org.fudaa.dodico.crue.metier.emh.CatEMHSection; -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.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.EMHBrancheEnchainement; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHBrancheNiveauxAssocies; -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.EMHBrancheStrickler; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHCasierMNT; -import main.java.org.fudaa.dodico.crue.metier.emh.EMHCasierProfil; -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.StriRefC; -import main.java.org.fudaa.dodico.crue.metier.emh.StriRefH; -import main.java.org.fudaa.dodico.crue.metier.emh.StriRefZ; - -/** - * Classe qui se charge de remplir les structures DAO avec els donn\xE9es m\xE9tier. - * @author Adrien Hadoux - * - */ -public class CrueDaoFillInfos { - - /** - * Methode qui remplit une arrayList d'objets persistants qui constituent la premiere partie du fichier DRSO: les Noeuds. - * @param data - * @return - */ - public static List remplirPersistanceAvecNoeudDRSO(List<EMH> data,List<String> listeMessageError){ - List listePersistante=new ArrayList(); - if(data==null || data.size()==0){ - listeMessageError.add(CrueRessource.getS("Noeuds: la liste est vide.")); - }else - for(EMH emh:data ){ - if(emh instanceof CatEMHNoeud){ - CatEMHNoeud noeud=(CatEMHNoeud) emh; - NoeudNiveauContinu noeudPersist=new NoeudNiveauContinu(); - noeudPersist.Nom=noeud.getNom(); - listePersistante.add(noeudPersist); - } - } - return listePersistante; - } - - - /** - * Methode qui remplit une arrayList d'objets m\xE9tier EMH noeuds a partir des donn\xE9es persistantes qui constituent la premiere partie du fichier DRSO: les Noeuds. - * @param data - * @return - */ - public static List<EMH> remplirNoeudAvecPersistanceDRSO(List listePersistants,List<String> listeMessageError ){ - List<EMH> listeEMH=new ArrayList(); - - if(listePersistants==null || listePersistants.size()==0){ - listeMessageError.add(CrueRessource.getS("Noeuds: la liste est vide.")); - }else - for(Object persist:listePersistants ){ - if(persist instanceof NoeudNiveauContinu){ - NoeudNiveauContinu noeudPersist=(NoeudNiveauContinu) persist; - CatEMHNoeud noeud=new CatEMHNoeud(noeudPersist.Nom); - listeEMH.add(noeud); - } - } - return listeEMH; - } - - - - /** - * Methode qui remplit une arrayList d'objets persistants qui constituent la deuxieme partie du fichier DRSO: les Branches. - * @param data - * @return - */ - public static List remplirPersistanceAvecBrancheDRSO(List<EMH> data,List<String> listeMessageError){ - List listePersistante=new ArrayList(); - if(data==null || data.size()==0){ - listeMessageError.add(CrueRessource.getS("Branches: la liste est vide.")); - }else - for(EMH emh:data ){ - if(emh instanceof CatEMHBranche){ - CatEMHBranche branche=(CatEMHBranche) emh; - BrancheAbstract branchePersist=null; - if (branche instanceof EMHBrancheBarrageFilEau) { - EMHBrancheBarrageFilEau new_name = (EMHBrancheBarrageFilEau) branche; - branchePersist=new BrancheBarrageFilEau(); - }else if (branche instanceof EMHBrancheBarrageGenerique) { - EMHBrancheBarrageGenerique new_name = (EMHBrancheBarrageGenerique) branche; - branchePersist=new BrancheBarrageGenerique(); - }else if (branche instanceof EMHBrancheBarrageRhone) { - EMHBrancheBarrageRhone new_name = (EMHBrancheBarrageRhone) branche; - branchePersist=new BrancheBarrageRhone(); - }else if (branche instanceof EMHBrancheEnchainement) { - EMHBrancheEnchainement new_name = (EMHBrancheEnchainement) branche; - branchePersist=new BrancheEnchainement(); - }else if (branche instanceof EMHBrancheNiveauxAssocies) { - EMHBrancheNiveauxAssocies new_name = (EMHBrancheNiveauxAssocies) branche; - branchePersist=new BrancheNiveauxAssocies(); - }else if (branche instanceof EMHBrancheOrifice) { - EMHBrancheOrifice new_name = (EMHBrancheOrifice) branche; - branchePersist=new BrancheOrifice(); - }else if (branche instanceof EMHBranchePdc) { - EMHBranchePdc new_name = (EMHBranchePdc) branche; - branchePersist=new BranchePdc(); - }else if (branche instanceof EMHBrancheSaintVenant) { - EMHBrancheSaintVenant new_name = (EMHBrancheSaintVenant) branche; - branchePersist=new BrancheSaintVenant(); - }else if (branche instanceof EMHBrancheSeuilLongitudinale) { - EMHBrancheSeuilLongitudinale new_name = (EMHBrancheSeuilLongitudinale) branche; - branchePersist=new BrancheSeuilLateral(); - }else if (branche instanceof EMHBrancheSeuilTransversal) { - EMHBrancheSeuilTransversal new_name = (EMHBrancheSeuilTransversal) branche; - branchePersist=new BrancheSeuilTransversal(); - }else if (branche instanceof EMHBrancheStrickler) { - EMHBrancheStrickler new_name = (EMHBrancheStrickler) branche; - branchePersist=new BrancheStrickler(); - } - - if(branchePersist!=null){ - //-- commun --// - BrancheAbstract br=(BrancheAbstract) branchePersist; - br.Active=branche.isActive(); - br.Nom=branche.getNom(); - if(branche.getNoeudAmont()!=null) - br.NdAm=new NdAm(branche.getNoeudAmont().getNom()); - if(branche.getNoeudAval()!=null) - br.NdAv=new NdAv(branche.getNoeudAval().getNom()); - //-- on remplit les sections persistantes avec celle de la branche --// - br.Sections=CrueDaoFillInfos.remplirPersistanceAvecSectionsBrancheDRSO(branche.getListeSections(),listeMessageError); - listePersistante.add(br); - } - } - } - return listePersistante; - } - - - public static List<EMH> remplirBrancheAvecPersistanceDRSO(List listePersistante,List<EMH> listeNoeuds,List<String> listeMessageError){ - List<EMH> data=new ArrayList(); - if(listePersistante==null || listePersistante.size()==0){ - listeMessageError.add(CrueRessource.getS("Branches: la liste est vide.")); - }else - for(Object objet:listePersistante ){ - if(objet instanceof BrancheAbstract){ - CatEMHBranche branche=null; - BrancheAbstract branchePersist=(BrancheAbstract) objet; - String nom=branchePersist.Nom; - if (branchePersist instanceof BrancheBarrageFilEau) { - branche = new EMHBrancheBarrageFilEau(nom); - - }else if (branchePersist instanceof BrancheBarrageGenerique) { - branche = new EMHBrancheBarrageGenerique(nom); - - }else if (branchePersist instanceof BrancheBarrageRhone) { - branche = new EMHBrancheBarrageRhone(nom); - - }else if (branchePersist instanceof BrancheEnchainement) { - branche = new EMHBrancheEnchainement(nom); - - }else if (branchePersist instanceof BrancheNiveauxAssocies) { - branche = new EMHBrancheNiveauxAssocies(nom); - - }else if (branchePersist instanceof BrancheOrifice) { - branche = new EMHBrancheOrifice(nom); - - }else if (branchePersist instanceof BranchePdc) { - branche = new EMHBranchePdc(nom); - - }else if (branchePersist instanceof BrancheSaintVenant) { - branche = new EMHBrancheSaintVenant(nom); - - }else if (branchePersist instanceof BrancheSeuilLateral) { - branche = new EMHBrancheSeuilLongitudinale(nom); - - }else if (branchePersist instanceof BrancheSeuilTransversal) { - branche = new EMHBrancheSeuilTransversal(nom); - - }else if (branchePersist instanceof BrancheStrickler) { - branche = new EMHBrancheStrickler(nom); - - } - - if(branche!=null){ - //-- commun --// - - branche.setActive(branchePersist.Active); - //branche.setNom(branchePersist.Nom); - if(branchePersist.NdAm!=null){ - CatEMHNoeud noeudAmont=CatEMHNoeud.findByReference(branchePersist.NdAm.NomRef, listeNoeuds); - if(noeudAmont!=null) - branche.setNoeudAmont(noeudAmont); - else - listeMessageError.add(CrueRessource.getS("Branches: Impossible de trouver le noeud avec la r\xE9f\xE9rence "+branchePersist.NdAm.NomRef)); - }else - listeMessageError.add(CrueRessource.getS("Branches: Il n'y a pas de noeud amont pour la branche "+branche.getNom())); - if(branchePersist.NdAv!=null){ - CatEMHNoeud noeudAval=CatEMHNoeud.findByReference(branchePersist.NdAv.NomRef, listeNoeuds); - if(noeudAval!=null) - branche.setNoeudAval(noeudAval); - else - listeMessageError.add(CrueRessource.getS("Branches: Impossible de trouver le noeud avec la r\xE9f\xE9rence "+branchePersist.NdAv.NomRef)); - }else - listeMessageError.add(CrueRessource.getS("Branches: Il n'y a pas de noeud aval pour la branche "+branche.getNom())); - - //-- on remplit les sections persistantes avec celle de la branche --// - if(branchePersist.Sections!=null) - branche.setListeSections(CrueDaoFillInfos.remplirSectionsBrancheAvecPersistanceDRSO(branchePersist.Sections,listeMessageError)); - - - data.add(branche); - } - } - } - return data; - } - - /** - * Methode qui remplit une arrayList d'objets persistants qui constituent la troisi\xE8me partie du fichier DRSO: les Casier. - * @param data - * @return - */ - public static List remplirPersistanceAvecCasierDRSO(List<EMH> data,List<String> listeMessageError){ - List listePersistante=new ArrayList(); - for(EMH emh:data ){ - if(emh instanceof CatEMHCasier){ - CatEMHCasier casier=(CatEMHCasier)emh; - CasierAbstract casierPersist=null; - if(casier instanceof EMHCasierMNT){ - casierPersist=new CasierMNT(); - }else if(casier instanceof EMHCasierProfil){ - casierPersist= new CasierProfil(); - EMHCasierProfil casierProfil=(EMHCasierProfil) casier; - - ((CasierProfil)casierPersist).Profil= new ReferenceProfil(); - ((CasierProfil)casierPersist).Profil.NomRef=casierProfil.getNomProfil(); - } - //-- commun --// - if(casierPersist!=null){ - casierPersist.Active=casier.isActive(); - if(casier.getNoeud()!=null) - casierPersist.Noeud=new ReferenceNoeud(casier.getNoeud().getNom()); - casierPersist.Nom=casier.getNom(); - listePersistante.add(casierPersist); - } - - - } - } - - return listePersistante; - } - - - /** - * Methode qui remplit une arrayList d'objets m\xE9tier EMH casier a partir des donn\xE9es persistantes qui constituent a troisi\xE8me partie du fichier DRSO: les Casier. - * @param data - * @return - */ - public static List<EMH> remplirCasierAvecPersistanceDRSO(List listePersistants,List<EMH> listeNoeuds ,List<String> listeMessageError){ - List<EMH> listeEMH=new ArrayList(); - if(listePersistants==null || listePersistants.size()==0){ - listeMessageError.add(CrueRessource.getS("Casiers: la liste est vide.")); - }else - for(Object persist:listePersistants ){ - if(persist instanceof CasierAbstract){ - CasierAbstract casierPersist=(CasierAbstract) persist; - String nom=casierPersist.Nom; - //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// - CatEMHCasier casier=null; - - //-- on recherche sa sp\xE9cialisation --// - if(casierPersist instanceof CasierProfil){ - casier=new EMHCasierProfil(nom); - if(((CasierProfil)casierPersist).Profil!=null) - ((EMHCasierProfil)casier).setNomProfil(((CasierProfil)casierPersist).Profil.NomRef); - }else if(casierPersist instanceof CasierMNT){ - casier=new EMHCasierMNT(nom); - } - - //-- commun aux objets --// - if(casier!=null){ - casier.setActive(casierPersist.Active); - if(casierPersist.Noeud!=null){ - String reference=casierPersist.Noeud.NomRef; - - - CatEMHNoeud noeudRef=CatEMHNoeud.findByReference(reference, listeNoeuds); - if(noeudRef!=null) - casier.setNoeud(noeudRef); - else - listeMessageError.add(CrueRessource.getS("Casier: Impossible de trouver le noeud avec la r\xE9f\xE9rence "+reference)); - } else - listeMessageError.add(CrueRessource.getS("Casier: Il n'y a pas de noeud pour le casier "+casier.getNom())); - - listeEMH.add(casier); - } - } - } - return listeEMH; - } - - - - /** - * Methode qui remplit une arrayList d'objets persistants qui constituent la quatri\xE8me partie du fichier DRSO: les Sections-references. - * @param data - * @return - */ - public static List remplirPersistanceAvecSectionsDRSO(List<EMH> data,List<String> listeMessageError){ - List listePersistante=new ArrayList(); - for(EMH emh:data ){ - if(emh instanceof CatEMHSection){ - CatEMHSection section=(CatEMHSection)emh; - SectionAbstract sectionPersist=null; - if(section instanceof EMHSectionIdem){ - sectionPersist=new SectionRefIdem(); - }else - if(section instanceof EMHSectionInterpolee){ - sectionPersist=new SectionRefInterpolee(); - }else - if(section instanceof EMHSectionProfil){ - sectionPersist=new SectionRefProfil(); - }else - if(section instanceof EMHSectionSansGeometrie){ - sectionPersist=new SectionRefSansGeometrie(); - } - - //-- commun --// - if(sectionPersist!=null){ - sectionPersist.NomRef=section.getNom(); - listePersistante.add(sectionPersist); - } - } - } - return listePersistante; - } - - /** - * Methode qui remplit une arrayList d'objets m\xE9tier EMH sections de branches a partir des donn\xE9es persistantes qui constituent la partie interne d'une partie Branche du fichier DRSO: les Sections. - * @param data - * @return - */ - public static List<CatEMHSection> remplirSectionsBrancheAvecPersistanceDRSO(List listePersistantsBranches,List<String> listeMessageError){ - List<CatEMHSection> listeEMH=new ArrayList<CatEMHSection>(); - if(listePersistantsBranches==null || listePersistantsBranches.size()==0){ - listeMessageError.add(CrueRessource.getS("Sections Branches: la liste est vide.")); - }else - for(Object persist:listePersistantsBranches ){ - if(persist instanceof SectionBrancheAbstract){ - SectionBrancheAbstract sectionPersist=(SectionBrancheAbstract) persist; - - //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// - CatEMHSection section=null; - String nom=sectionPersist.NomRef; - //-- on recherche sa sp\xE9cialisation --// - if(sectionPersist instanceof SectionIdem){ - section=new EMHSectionIdem(nom); - - }else if(sectionPersist instanceof SectionInterpolee){ - section=new EMHSectionInterpolee(nom); - }else if(sectionPersist instanceof SectionProfil){ - section=new EMHSectionProfil(nom); - }else if(sectionPersist instanceof SectionSansGeometrie){ - section=new EMHSectionSansGeometrie(nom); - } - - //-- commun aux objets --// - if(section!=null){ - - if(sectionPersist.Pos!=null) - section.setPosition(sectionPersist.Pos); - section.setXp(sectionPersist.Xp); - listeEMH.add(section); - } - } - } - return listeEMH; - } - - /** - * Methode qui remplit une arrayList d'objets m\xE9tier EMH sections a partir des donn\xE9es persistantes qui constituent a quatrieme partie du fichier DRSO: les Sections. - * @param data - * @return - */ - public static List<EMH> remplirSectionsAvecPersistanceDRSO(List listePersistantsSection,List<EMH> listeBranches,List<String> listeMessageError){ - List<EMH> listeEMH=new ArrayList<EMH>(); - if(listePersistantsSection==null || listePersistantsSection.size()==0){ - listeMessageError.add(CrueRessource.getS("Sections : la liste est vide.")); - }else - for(Object persist:listePersistantsSection ){ - if(persist instanceof SectionAbstract){ - SectionAbstract sectionPersist=(SectionAbstract) persist; - - //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// - CatEMHSection section=null; - String reference=sectionPersist.NomRef; - section=CatEMHSection.findByReferenceFromBrancheOrSectionEMH(reference, listeBranches); - - - - if(section!=null) - listeEMH.add(section); - else - listeMessageError.add(CrueRessource.getS("Sections : Impossible de trouver la section de r\xE9f\xE9rence "+reference)); - } - } - return listeEMH; - } - - - /** - * Remplit les don\xE9nes persistantes avec la liste des sections d'une branche. - * Remplit toutes les donn\xE9es associ\xE9es aux sections - * @param data - * @return - */ - public static List remplirPersistanceAvecSectionsBrancheDRSO(List<CatEMHSection> data,List<String> listeMessageError){ - List listePersistante=new ArrayList(); - for(EMH emh:data ){ - if(emh instanceof CatEMHSection){ - CatEMHSection section=(CatEMHSection)emh; - 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(); - } - - //-- commun --// - if(sectionPersist!=null){ - sectionPersist.NomRef=section.getNom(); - - sectionPersist.Pos=section.getPosition(); - sectionPersist.Xp=section.getXp(); - - - listePersistante.add(sectionPersist); - } - } - } - return listePersistante; - } - - /** - * remplir le fichier DFRT avec les frottemetns - * @param data - * @return - */ - public static List<StriRefPersist> remplirPersistanceAvecFrottemetnsDFRT(List<DonFrt> data,List<String> listeMessageError){ - 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,List<String> listeMessageError){ - List<DonFrt> data=new ArrayList<DonFrt>(); - if(persistListe==null || persistListe.size()==0){ - listeMessageError.add(CrueRessource.getS("Frottements : la liste est vide.")); - }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){ - listeMessageError.add(CrueRessource.getS("Frottement: "+frt.getNom()+": impossible de r\xE9cup\xE9rer le r\xE9el du contenu: "+buff)); - } - 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)); - } - listePoints.add(new GrPoint(x,y,0)); - - } - - - frt.setListePoints(listePoints); - } - data.add(frt); - } - - } - return data; - } - -} Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoOPTG.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoOPTG.java 2009-03-06 14:58:09 UTC (rev 4515) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoOPTG.java 2009-03-06 18:45:46 UTC (rev 4516) @@ -54,7 +54,7 @@ } - public ElemSeuil fillInfosWithPersistant(List<String> listeMessageError) { + public ElemSeuil fillInfosWithPersistant(Object data,List<String> listeMessageError) { // TODO Auto-generated method stub return null; } 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-06 14:58:09 UTC (rev 4515) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoParsing.java 2009-03-06 18:45:46 UTC (rev 4516) @@ -1,14 +1,24 @@ package main.java.org.fudaa.dodico.crue.dao; +import java.io.BufferedReader; import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; +import java.io.OutputStreamWriter; import java.util.ArrayList; +import java.util.Date; import java.util.List; +import org.fudaa.ctulu.CtuluLibFile; + +import main.java.org.fudaa.dodico.crue.dao.validatorXML.ValidatorXml; import main.java.org.fudaa.dodico.crue.metier.emh.ElemSeuil; import com.memoire.fu.FuLog; @@ -23,7 +33,7 @@ public abstract class CrueDaoParsing<T> { public String VersionCrue="0.0"; - public String Commentaire="G\xE9n\xE9r\xE9 par Fudaa "; + public String Commentaire="G\xE9n\xE9r\xE9 par Fudaa le "+new Date(System.currentTimeMillis()); /** * Initiazlise le parser xstream avec les bons alias des noms de balises. * @return @@ -39,10 +49,11 @@ /** * Cr\xE9e une structure m\xE9tier \xE0 partir des informations persistantes. - * Utiliser poru le remplissage de la structure m\xE9tier apr\xE8s lecture du fichier xml. + * Utiliser pour le remplissage de la structure m\xE9tier apr\xE8s lecture du fichier xml. + * Utilise en plus des donn\xE9es li\xE9es. * @return */ - abstract T fillInfosWithPersistant(List<String> listeMessageError); + abstract T fillInfosWithPersistant(Object dataLinked,List<String> listeMessageError); /** * Execute la persistance des donn\xE9es dans le fichier donn\xE9 en parametre. @@ -51,10 +62,13 @@ public boolean persistData(File fichier,List<String> listeMessageError) { boolean isOk=true; ObjectOutputStream out=null; + OutputStreamWriter writer=null; try { - out = initXmlParser().createObjectOutputStream(new FileWriter(fichier),"Fichier"); - //--on enregistre la donn\xE9e au bon format --// - out.writeObject(this); + writer=new OutputStreamWriter(new FileOutputStream(fichier),"UTF-8"); + XStream parser=initXmlParser(); + String contentXml=parser.toXML(this); + contentXml=ValidatorXml.enteteXml+"\n"+contentXml; + writer.write(contentXml); } catch (IOException e) { // TODO Auto-generated catch block FuLog.debug(e.getMessage()); @@ -63,7 +77,8 @@ } finally{ try { - out.close(); + //out.close(); + writer.close(); return isOk; } catch (IOException e) { // TODO Auto-generated catch block @@ -79,40 +94,27 @@ * @param fichier * @return */ - public T getPersistData(File fichier,List<String> listeMessageError){ + public T getPersistData(Object dataLinked,File fichier,List<String> listeMessageError){ //-- la data a r\xE9cup\xE9rer --// T newData=null; - boolean isOk=true; - ObjectInputStream in=null; try { - in = initXmlParser().createObjectInputStream(new FileReader(fichier)); + XStream parser=initXmlParser(); + String content=CtuluLibFile.litFichierTexte(fichier); //--on charge la donn\xE9e persistante au bon format --// - CrueDaoParsing<T> dataPersistante=(CrueDaoParsing<T>) in.readObject(); + CrueDaoParsing<T> dataPersistante=(CrueDaoParsing<T>)parser.fromXML(content); //-- on genere la donn\xE9es m\xE9tier a partir de la donnee persistante--// - newData=dataPersistante.fillInfosWithPersistant(listeMessageError); + newData=dataPersistante.fillInfosWithPersistant(dataLinked,listeMessageError); } catch (IOException e) { // TODO Auto-generated catch block FuLog.debug(e.getMessage()); listeMessageError.add(e.getMessage()); - isOk=false; - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - FuLog.debug(e.getMessage()); - listeMessageError.add(e.getMessage()); - isOk=false; - } + + } finally{ - try { - in.close(); return newData; - } catch (IOException e) { - // TODO Auto-generated catch block - FuLog.debug(e.getMessage()); - listeMessageError.add(e.getMessage()); - } } - return null; + } } Copied: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueFactoryDao.java (from rev 4512, branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFillInfos.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueFactoryDao.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueFactoryDao.java 2009-03-06 18:45:46 UTC (rev 4516) @@ -0,0 +1,773 @@ +package main.java.org.fudaa.dodico.crue.dao; + + +import java.util.ArrayList; +import java.util.List; +import org.fudaa.ebli.geometrie.GrPoint; +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDRSO.*; +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDFRT.*; +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; +import main.java.org.fudaa.dodico.crue.metier.emh.CatEMHSection; +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.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.EMHBrancheEnchainement; +import main.java.org.fudaa.dodico.crue.metier.emh.EMHBrancheNiveauxAssocies; +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.EMHBrancheStrickler; +import main.java.org.fudaa.dodico.crue.metier.emh.EMHCasierMNT; +import main.java.org.fudaa.dodico.crue.metier.emh.EMHCasierProfil; +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.StriRefC; +import main.java.org.fudaa.dodico.crue.metier.emh.StriRefH; +import main.java.org.fudaa.dodico.crue.metier.emh.StriRefZ; + +/** + * Factory qui se charge de remplir les structures DAO avec les donn\xE9es m\xE9tier et inversement. + * @author Adrien Hadoux + * + */ +public class CrueFactoryDao { + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent la premiere partie du fichier DRSO: les Noeuds. + * @param data + * @return + */ + public static List remplirPersistanceAvecNoeudDRSO(List<EMH> data,List<String> listeMessageError){ + List listePersistante=new ArrayList(); + if(data==null || data.size()==0){ + listeMessageError.add(CrueRessource.getS("Noeuds: la liste est vide.")); + }else + for(EMH emh:data ){ + if(emh instanceof CatEMHNoeud){ + CatEMHNoeud noeud=(CatEMHNoeud) emh; + NoeudNiveauContinu noeudPersist=new NoeudNiveauContinu(); + noeudPersist.Nom=noeud.getNom(); + listePersistante.add(noeudPersist); + } + } + return listePersistante; + } + + + /** + * Methode qui remplit une arrayList d'objets m\xE9tier EMH noeuds a partir des donn\xE9es persistantes qui constituent la premiere partie du fichier DRSO: les Noeuds. + * @param data + * @return + */ + public static List<EMH> remplirNoeudAvecPersistanceDRSO(List listePersistants,List<String> listeMessageError ){ + List<EMH> listeEMH=new ArrayList(); + + if(listePersistants==null || listePersistants.size()==0){ + listeMessageError.add(CrueRessource.getS("Noeuds: la liste est vide.")); + }else + for(Object persist:listePersistants ){ + if(persist instanceof NoeudNiveauContinu){ + NoeudNiveauContinu noeudPersist=(NoeudNiveauContinu) persist; + CatEMHNoeud noeud=new CatEMHNoeud(noeudPersist.Nom); + listeEMH.add(noeud); + } + } + return listeEMH; + } + + + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent la deuxieme partie du fichier DRSO: les Branches. + * @param data + * @return + */ + public static List remplirPersistanceAvecBrancheDRSO(List<EMH> data,List<String> listeMessageError){ + List listePersistante=new ArrayList(); + if(data==null || data.size()==0){ + listeMessageError.add(CrueRessource.getS("Branches: la liste est vide.")); + }else + for(EMH emh:data ){ + if(emh instanceof CatEMHBranche){ + CatEMHBranche branche=(CatEMHBranche) emh; + BrancheAbstract branchePersist=null; + if (branche instanceof EMHBrancheBarrageFilEau) { + EMHBrancheBarrageFilEau new_name = (EMHBrancheBarrageFilEau) branche; + branchePersist=new BrancheBarrageFilEau(); + }else if (branche instanceof EMHBrancheBarrageGenerique) { + EMHBrancheBarrageGenerique new_name = (EMHBrancheBarrageGenerique) branche; + branchePersist=new BrancheBarrageGenerique(); + }else if (branche instanceof EMHBrancheBarrageRhone) { + EMHBrancheBarrageRhone new_name = (EMHBrancheBarrageRhone) branche; + branchePersist=new BrancheBarrageRhone(); + }else if (branche instanceof EMHBrancheEnchainement) { + EMHBrancheEnchainement new_name = (EMHBrancheEnchainement) branche; + branchePersist=new BrancheEnchainement(); + }else if (branche instanceof EMHBrancheNiveauxAssocies) { + EMHBrancheNiveauxAssocies new_name = (EMHBrancheNiveauxAssocies) branche; + branchePersist=new BrancheNiveauxAssocies(); + }else if (branche instanceof EMHBrancheOrifice) { + EMHBrancheOrifice new_name = (EMHBrancheOrifice) branche; + branchePersist=new BrancheOrifice(); + }else if (branche instanceof EMHBranchePdc) { + EMHBranchePdc new_name = (EMHBranchePdc) branche; + branchePersist=new BranchePdc(); + }else if (branche instanceof EMHBrancheSaintVenant) { + EMHBrancheSaintVenant new_name = (EMHBrancheSaintVenant) branche; + branchePersist=new BrancheSaintVenant(); + }else if (branche instanceof EMHBrancheSeuilLongitudinale) { + EMHBrancheSeuilLongitudinale new_name = (EMHBrancheSeuilLongitudinale) branche; + branchePersist=new BrancheSeuilLateral(); + }else if (branche instanceof EMHBrancheSeuilTransversal) { + EMHBrancheSeuilTransversal new_name = (EMHBrancheSeuilTransversal) branche; + branchePersist=new BrancheSeuilTransversal(); + }else if (branche instanceof EMHBrancheStrickler) { + EMHBrancheStrickler new_name = (EMHBrancheStrickler) branche; + branchePersist=new BrancheStrickler(); + } + + if(branchePersist!=null){ + //-- commun --// + BrancheAbstract br=(BrancheAbstract) branchePersist; + br.Active=branche.isActive(); + br.Nom=branche.getNom(); + if(branche.getNoeudAmont()!=null) + br.NdAm=new NdAm(branche.getNoeudAmont().getNom()); + if(branche.getNoeudAval()!=null) + br.NdAv=new NdAv(branche.getNoeudAval().getNom()); + //-- on remplit les sections persistantes avec celle de la branche --// + br.Sections=CrueFactoryDao.remplirPersistanceAvecSectionsBrancheDRSO(branche.getListeSections(),listeMessageError); + listePersistante.add(br); + } + } + } + return listePersistante; + } + + + public static List<EMH> remplirBrancheAvecPersistanceDRSO(List listePersistante,List<EMH> listeNoeuds,List<String> listeMessageError){ + List<EMH> data=new ArrayList(); + if(listePersistante==null || listePersistante.size()==0){ + listeMessageError.add(CrueRessource.getS("Branches: la liste est vide.")); + }else + for(Object objet:listePersistante ){ + if(objet instanceof BrancheAbstract){ + CatEMHBranche branche=null; + BrancheAbstract branchePersist=(BrancheAbstract) objet; + String nom=branchePersist.Nom; + if (branchePersist instanceof BrancheBarrageFilEau) { + branche = new EMHBrancheBarrageFilEau(nom); + + }else if (branchePersist instanceof BrancheBarrageGenerique) { + branche = new EMHBrancheBarrageGenerique(nom); + + }else if (branchePersist instanceof BrancheBarrageRhone) { + branche = new EMHBrancheBarrageRhone(nom); + + }else if (branchePersist instanceof BrancheEnchainement) { + branche = new EMHBrancheEnchainement(nom); + + }else if (branchePersist instanceof BrancheNiveauxAssocies) { + branche = new EMHBrancheNiveauxAssocies(nom); + + }else if (branchePersist instanceof BrancheOrifice) { + branche = new EMHBrancheOrifice(nom); + + }else if (branchePersist instanceof BranchePdc) { + branche = new EMHBranchePdc(nom); + + }else if (branchePersist instanceof BrancheSaintVenant) { + branche = new EMHBrancheSaintVenant(nom); + + }else if (branchePersist instanceof BrancheSeuilLateral) { + branche = new EMHBrancheSeuilLongitudinale(nom); + + }else if (branchePersist instanceof BrancheSeuilTransversal) { + branche = new EMHBrancheSeuilTransversal(nom); + + }else if (branchePersist instanceof BrancheStrickler) { + branche = new EMHBrancheStrickler(nom); + + } + + if(branche!=null){ + //-- commun --// + + branche.setActive(branchePersist.Active); + //branche.setNom(branchePersist.Nom); + if(branchePersist.NdAm!=null){ + CatEMHNoeud noeudAmont=CatEMHNoeud.findByReference(branchePersist.NdAm.NomRef, listeNoeuds); + if(noeudAmont!=null) + branche.setNoeudAmont(noeudAmont); + else + listeMessageError.add(CrueRessource.getS("Branches: Impossible de trouver le noeud avec la r\xE9f\xE9rence "+branchePersist.NdAm.NomRef)); + }else + listeMessageError.add(CrueRessource.getS("Branches: Il n'y a pas de noeud amont pour la branche "+branche.getNom())); + if(branchePersist.NdAv!=null){ + CatEMHNoeud noeudAval=CatEMHNoeud.findByReference(branchePersist.NdAv.NomRef, listeNoeuds); + if(noeudAval!=null) + branche.setNoeudAval(noeudAval); + else + listeMessageError.add(CrueRessource.getS("Branches: Impossible de trouver le noeud avec la r\xE9f\xE9rence "+branchePersist.NdAv.NomRef)); + }else + listeMessageError.add(CrueRessource.getS("Branches: Il n'y a pas de noeud aval pour la branche "+branche.getNom())); + + //-- on remplit les sections persistantes avec celle de la branche --// + if(branchePersist.Sections!=null) + branche.setListeSections(CrueFactoryDao.remplirSectionsBrancheAvecPersistanceDRSO(branchePersist.Sections,listeMessageError)); + + + data.add(branche); + } + } + } + return data; + } + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent la troisi\xE8me partie du fichier DRSO: les Casier. + * @param data + * @return + */ + public static List remplirPersistanceAvecCasierDRSO(List<EMH> data,List<String> listeMessageError){ + List listePersistante=new ArrayList(); + for(EMH emh:data ){ + if(emh instanceof CatEMHCasier){ + CatEMHCasier casier=(CatEMHCasier)emh; + CasierAbstract casierPersist=null; + if(casier instanceof EMHCasierMNT){ + casierPersist=new CasierMNT(); + }else if(casier instanceof EMHCasierProfil){ + casierPersist= new CasierProfil(); + EMHCasierProfil casierProfil=(EMHCasierProfil) casier; + + ((CasierProfil)casierPersist).Profil= new ReferenceProfil(); + ((CasierProfil)casierPersist).Profil.NomRef=casierProfil.getNomProfil(); + } + //-- commun --// + if(casierPersist!=null){ + casierPersist.Active=casier.isActive(); + if(casier.getNoeud()!=null) + casierPersist.Noeud=new ReferenceNoeud(casier.getNoeud().getNom()); + casierPersist.Nom=casier.getNom(); + listePersistante.add(casierPersist); + } + + + } + } + + return listePersistante; + } + + + /** + * Methode qui remplit une arrayList d'objets m\xE9tier EMH casier a partir des donn\xE9es persistantes qui constituent a troisi\xE8me partie du fichier DRSO: les Casier. + * @param data + * @return + */ + public static List<EMH> remplirCasierAvecPersistanceDRSO(List listePersistants,List<EMH> listeNoeuds ,List<String> listeMessageError){ + List<EMH> listeEMH=new ArrayList(); + if(listePersistants==null || listePersistants.size()==0){ + listeMessageError.add(CrueRessource.getS("Casiers: la liste est vide.")); + }else + for(Object persist:listePersistants ){ + if(persist instanceof CasierAbstract){ + CasierAbstract casierPersist=(CasierAbstract) persist; + String nom=casierPersist.Nom; + //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// + CatEMHCasier casier=null; + + //-- on recherche sa sp\xE9cialisation --// + if(casierPersist instanceof CasierProfil){ + casier=new EMHCasierProfil(nom); + if(((CasierProfil)casierPersist).Profil!=null) + ((EMHCasierProfil)casier).setNomProfil(((CasierProfil)casierPersist).Profil.NomRef); + }else if(casierPersist instanceof CasierMNT){ + casier=new EMHCasierMNT(nom); + } + + //-- commun aux objets --// + if(casier!=null){ + casier.setActive(casierPersist.Active); + if(casierPersist.Noeud!=null){ + String reference=casierPersist.Noeud.NomRef; + + + CatEMHNoeud noeudRef=CatEMHNoeud.findByReference(reference, listeNoeuds); + if(noeudRef!=null) + casier.setNoeud(noeudRef); + else + listeMessageError.add(CrueRessource.getS("Casier: Impossible de trouver le noeud avec la r\xE9f\xE9rence "+reference)); + } else + listeMessageError.add(CrueRessource.getS("Casier: Il n'y a pas de noeud pour le casier "+casier.getNom())); + + listeEMH.add(casier); + } + } + } + return listeEMH; + } + + + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent la quatri\xE8me partie du fichier DRSO: les Sections-references. + * @param data + * @return + */ + public static List remplirPersistanceAvecSectionsDRSO(List<EMH> data,List<String> listeMessageError){ + List listePersistante=new ArrayList(); + for(EMH emh:data ){ + if(emh instanceof CatEMHSection){ + CatEMHSection section=(CatEMHSection)emh; + SectionAbstract sectionPersist=null; + if(section instanceof EMHSectionIdem){ + sectionPersist=new SectionRefIdem(); + }else + if(section instanceof EMHSectionInterpolee){ + sectionPersist=new SectionRefInterpolee(); + }else + if(section instanceof EMHSectionProfil){ + sectionPersist=new SectionRefProfil(); + }else + if(section instanceof EMHSectionSansGeometrie){ + sectionPersist=new SectionRefSansGeometrie(); + } + + //-- commun --// + if(sectionPersist!=null){ + sectionPersist.NomRef=section.getNom(); + listePersistante.add(sectionPersist); + } + } + } + return listePersistante; + } + + /** + * Methode qui remplit une arrayList d'objets m\xE9tier EMH sections de branches a partir des donn\xE9es persistantes qui constituent la partie interne d'une partie Branche du fichier DRSO: les Sections. + * @param data + * @return + */ + public static List<CatEMHSection> remplirSectionsBrancheAvecPersistanceDRSO(List listePersistantsBranches,List<String> listeMessageError){ + List<CatEMHSection> listeEMH=new ArrayList<CatEMHSection>(); + if(listePersistantsBranches==null || listePersistantsBranches.size()==0){ + listeMessageError.add(CrueRessource.getS("Sections Branches: la liste est vide.")); + }else + for(Object persist:listePersistantsBranches ){ + if(persist instanceof SectionBrancheAbstract){ + SectionBrancheAbstract sectionPersist=(SectionBrancheAbstract) persist; + + //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// + CatEMHSection section=null; + String nom=sectionPersist.NomRef; + //-- on recherche sa sp\xE9cialisation --// + if(sectionPersist instanceof SectionIdem){ + section=new EMHSectionIdem(nom); + + }else if(sectionPersist instanceof SectionInterpolee){ + section=new EMHSectionInterpolee(nom); + }else if(sectionPersist instanceof SectionProfil){ + section=new EMHSectionProfil(nom); + }else if(sectionPersist instanceof SectionSansGeometrie){ + section=new EMHSectionSansGeometrie(nom); + } + + //-- commun aux objets --// + if(section!=null){ + + if(sectionPersist.Pos!=null) + section.setPosition(sectionPersist.Pos); + section.setXp(sectionPersist.Xp); + listeEMH.add(section); + } + } + } + return listeEMH; + } + + /** + * Methode qui remplit une arrayList d'objets m\xE9tier EMH sections a partir des donn\xE9es persistantes qui constituent a quatrieme partie du fichier DRSO: les Sections. + * @param data + * @return + */ + public static List<EMH> remplirSectionsAvecPersistanceDRSO(List listePersistantsSection,List<EMH> listeBranches,List<String> listeMessageError){ + List<EMH> listeEMH=new ArrayList<EMH>(); + if(listePersistantsSection==null || listePersistantsSection.size()==0){ + listeMessageError.add(CrueRessource.getS("Sections : la liste est vide.")); + }else + for(Object persist:listePersistantsSection ){ + if(persist instanceof SectionAbstract){ + SectionAbstract sectionPersist=(SectionAbstract) persist; + + //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// + CatEMHSection section=null; + String reference=sectionPersist.NomRef; + section=CatEMHSection.findByReferenceFromBrancheOrSectionEMH(reference, listeBranches); + + + + if(section!=null) + listeEMH.add(section); + else + listeMessageError.add(CrueRessource.getS("Sections : Impossible de trouver la section de r\xE9f\xE9rence "+reference)); + } + } + return listeEMH; + } + + + /** + * Remplit les don\xE9nes persistantes avec la liste des sections d'une branche. + * Remplit toutes les donn\xE9es associ\xE9es aux sections + * @param data + * @return + */ + public static List remplirPersistanceAvecSectionsBrancheDRSO(List<CatEMHSection> data,List<String> listeMessageError){ + List listePersistante=new ArrayList(); + for(EMH emh:data ){ + if(emh instanceof CatEMHSection){ + CatEMHSection section=(CatEMHSection)emh; + 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(); + } + + //-- commun --// + if(sectionPersist!=null){ + sectionPersist.NomRef=section.getNom(); + + sectionPersist.Pos=section.getPosition(); + sectionPersist.Xp=section.getXp(); + + + listePersistante.add(sectionPersist); + } + } + } + return listePersistante; + } + + /** + * remplir le fichier DFRT avec les frottemetns + * @param data + * @return + */ + public static List<StriRefPersist> remplirPersistanceAvecFrottemetnsDFRT(List<DonFrt> data,List<String> listeMessageError){ + 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,List<String> listeMessageError){ + List<DonFrt> data=new ArrayList<DonFrt>(); + if(persistListe==null || persistListe.size()==0){ + listeMessageError.add(CrueRessource.getS("Frottements : la liste est vide.")); + }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... [truncated message content] |
From: <had...@us...> - 2009-03-10 18:01:29
|
Revision: 4525 http://fudaa.svn.sourceforge.net/fudaa/?rev=4525&view=rev Author: hadouxad Date: 2009-03-10 18:01:18 +0000 (Tue, 10 Mar 2009) Log Message: ----------- Fichier DSCP Modified Paths: -------------- 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/dao/CrueDaoDFRT.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDPTI.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.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/DaoStructuresFormatDRSO.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/emh/CatEMHBranche.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrt.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheOrifice.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSaintVenant.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheSeuilLateral.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMH.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHBrancheOrifice.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/ElemOrifice.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/Loi.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/reader/Crue10reader.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/writer/Crue10writer.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/TestClasse.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/TestCrueDPTIFile.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/TestCrueDRSOFile.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Modifications-Obligatoires.txt branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDSCP.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactory.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/DaoStructuresFormatDSCP.java 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/valideDSCP.xsd branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/emh/DefaultEMHValues.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/test/java/org/fudaa/fudaa/crue/TestCrueDSCPFile.java Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueFactoryDao.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/test/java/org/fudaa/fudaa/crue/CruePersistanceErrorManager.java 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-10 17:43:46 UTC (rev 4524) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Questions-ModelisationDonnees.txt 2009-03-10 18:01:18 UTC (rev 4525) @@ -15,6 +15,7 @@ <SectionProfil-ref> <SectionInterpolee-ref> ... + - Les lois, dans quels fichiers sont d\xE9crites les lois ? par exemple dans DSCP, pour les cas Pdc et BarrageFilEau, on a des lois, ou sont-elles d\xE9finies ? ***** FICHIERS XML CRUE 10***** - Fichier DRSO: @@ -41,5 +42,12 @@ - Balises <Branches>,fichier modele3.dpti.xml: la balise <BrancheOrifice> contient la balise <OuvPasseDessous> de plus que les autres types de branches. Est-ce bien la seule \xE0 poss\xE9der ce type de balise ou toutes peuvent les poss\xE9der? y'a t'il d'autres cas particuliers comme celui-ci pour les branches ? - Balises <Sections>, fichier modele3.dpti.xml: les sections sont vides. Est ce normal ou cas particulier? Si non Quelles donn\xE9es fournit-on pour les sections dans le fichier dpti (pas d'autres fichier dpti exemples pour les mod\xE8les 4 et 5.) - - \ No newline at end of file + + +- Fichier DSCP: + + - Contenu des balises <branche>: + - Seules les balises <BrancheOrifice> contiennent des \xE9l\xE9ments <ElemOrifice> ? <BrancheOrifice> peuvent-elles contenir des balises <sections> ? + - Seules les balises <BrancheSeuilLateral> et <BrancheSeuilTransversal> contiennent des \xE9l\xE9ments <ElemSeuil> et pr\xE9c\xE9d\xE9 de <FormulePdc>? <BrancheSeuilLateral> et <BrancheSeuilTransversal> peuvent-elles contenir des balises <sections> ? + - Pour les balises <BranchesBarrageFilEau> et <BranchePDC>:Peut on avoir un exemple ? Comment persister l'objet loi (r\xE9f\xE9rence, loi compl\xE8te ?) ? + - Pour les balises <BrancheStrickler> et <BrancheBarrageRhone>, sont elles autoris\xE9es dans DSCP ?Dans ce cas quelle est leur structure DSCP car il n'y a pas de donn\xE9es DonCalcSansPrt pour ces branches... \ No newline at end of file Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Modifications-Obligatoires.txt =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Modifications-Obligatoires.txt (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Modifications-Obligatoires.txt 2009-03-10 18:01:18 UTC (rev 4525) @@ -0,0 +1,20 @@ +-- Modifications mod\xE9lisations \xE0 soumettre au CNR -- + +- G\xE9n\xE9ral: Important R\xE8gle \xE0 appliquer pour tous les fichiers xml + - Il faut appliquer les 2 r\xE8gles suivantes: + - le nom de balise < > doit \xEAtre unique par fichier. + - pour les occurences d'une m\xEAme balise: suffixer les autres balises r\xE9f\xE9rences par <balise-ref>. + + exemple: fichier DRSO: + les balises sections sont pr\xE9sentes \xE0 la fois a l'int\xE9rieur de <Sections> et de <Branches> avec les m\xEAmes noms. + puisque dans la partie section <Sections> les balises sont des r\xE9f\xE9rences, elles seront suffix\xE9es en + <SectionProfil-ref> <SectionInterpolee-ref> ... + +- Fichier DRSO: + cf exemple ci dessus. + +- Fichier DSCP + + - balise <BrancheSeuilTransversal> et <BrancheSeuilLateral> contiennent des \xE9l\xE9ments <ElemSeuilPdc> au lieu de <ElemSeuil> + car ce sont les balises <BrancheBarrageFilEau> qui contiennent des \xE9l\xE9ments <ElemSeuil> (sans pdc) + En effet avant la contrainte d'unicit\xE9 n'est pas appliqu\xE9e. \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDFRT.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDFRT.java 2009-03-10 17:43:46 UTC (rev 4524) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDFRT.java 2009-03-10 18:01:18 UTC (rev 4525) @@ -29,13 +29,13 @@ public void fillInfosWith(List<DonFrt> data,List<String> listeMessageError) { - listeFrottement=CrueFactoryDao.remplirPersistanceAvecFrottemetnsDFRT(data,listeMessageError); + listeFrottement=CrueDaoFactory.remplirPersistanceAvecFrottemetnsDFRT(data,listeMessageError); } public List<DonFrt> fillInfosWithPersistant(Object data,List<String> listeMessageError) { - return CrueFactoryDao.remplirFrottemetnsAvecPersistanceDFRT(listeFrottement,listeMessageError); + return CrueDaoFactory.remplirFrottemetnsAvecPersistanceDFRT(listeFrottement,listeMessageError); } Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDPTI.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDPTI.java 2009-03-10 17:43:46 UTC (rev 4524) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDPTI.java 2009-03-10 18:01:18 UTC (rev 4525) @@ -22,12 +22,8 @@ */ public class CrueDaoDPTI extends CrueDaoParsing<List<EMH>>{ + /** - * 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_DRSO="DRSO#"; - - /** * la liste des noeuds */ private List<NoeudNiveauContinu> Noeuds; @@ -52,14 +48,14 @@ public void fillInfosWith(List<EMH> data, List<String> listeMessageError) { // TODO Auto-generated method stub //-- etape 1: on remplit les infso des noeuds --// - Noeuds=CrueFactoryDao.remplirPersistanceAvecNoeudDPTI(data,listeMessageError); + Noeuds=CrueDaoFactory.remplirPersistanceAvecNoeudDPTI(data,listeMessageError); //-- etape 2: on remplit les infso des branches --// - Branches=CrueFactoryDao.remplirPersistanceAvecBrancheDPTI(data,listeMessageError); + Branches=CrueDaoFactory.remplirPersistanceAvecBrancheDPTI(data,listeMessageError); //-- etape 3: on remplit les infso des casiers --// - Casiers=CrueFactoryDao.remplirPersistanceAvecCasierDPTI(data,listeMessageError); + Casiers=CrueDaoFactory.remplirPersistanceAvecCasierDPTI(data,listeMessageError); //-- etape 4: on remplit les infso des sections --// @@ -76,14 +72,14 @@ List<EMH> listeEMHDRSO=(List<EMH> )data; //-- remplissage des noeuds --// - CrueFactoryDao.remplirNoeudAvecPersistanceDPTI(Noeuds,listeEMHDRSO,listeMessageError); + CrueDaoFactory.remplirNoeudAvecPersistanceDPTI(Noeuds,listeEMHDRSO,listeMessageError); //-- remplissage des branches --// - CrueFactoryDao.remplirBrancheAvecPersistanceDPTI(Branches, listeEMHDRSO,listeMessageError); + CrueDaoFactory.remplirBrancheAvecPersistanceDPTI(Branches, listeEMHDRSO,listeMessageError); //-- remplissage des casiers --// - CrueFactoryDao.remplirCasierAvecPersistanceDPTI(Casiers, listeEMHDRSO, listeMessageError); + CrueDaoFactory.remplirCasierAvecPersistanceDPTI(Casiers, listeEMHDRSO, listeMessageError); //-- remplissage des sections --// Modified: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java 2009-03-10 17:43:46 UTC (rev 4524) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDRSO.java 2009-03-10 18:01:18 UTC (rev 4525) @@ -17,6 +17,11 @@ */ public class CrueDaoDRSO extends CrueDaoParsing<List<EMH>>{ + /** + * 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_DRSO="DRSO#"; + //-- variables qui correspondent \xE0 celle du fichier xml --// // public String VersionCrue="10"; // public String Commentaire="G\xE9n\xE9r\xE9 par Fudaa "; @@ -53,18 +58,18 @@ public void fillInfosWith(List<EMH> data,List<String> listeMessageError) { //-- etape 1: on remplit les infso des noeuds --// - Noeuds=CrueFactoryDao.remplirPersistanceAvecNoeudDRSO(data,listeMessageError); + Noeuds=CrueDaoFactory.remplirPersistanceAvecNoeudDRSO(data,listeMessageError); //-- etape 2: on remplit les infso des branches --// - Branches=CrueFactoryDao.remplirPersistanceAvecBrancheDRSO(data,listeMessageError); + Branches=CrueDaoFactory.remplirPersistanceAvecBrancheDRSO(data,listeMessageError); //-- etape 3: on remplit les infso des casiers --// - Casiers=CrueFactoryDao.remplirPersistanceAvecCasierDRSO(data,listeMessageError); + Casiers=CrueDaoFactory.remplirPersistanceAvecCasierDRSO(data,listeMessageError); //-- etape 4: on remplit les infso des sections --// - Sections=CrueFactoryDao.remplirPersistanceAvecSectionsDRSO(data,listeMessageError); + Sections=CrueDaoFactory.remplirPersistanceAvecSectionsDRSO(data,listeMessageError); @@ -77,18 +82,18 @@ List<EMH> listeCompleteEMH=new ArrayList<EMH>(); //-- etape 1: on remplit les infso des noeuds --// - List<EMH> listeNoeuds=CrueFactoryDao.remplirNoeudAvecPersistanceDRSO(Noeuds,listeMessageError); + List<EMH> listeNoeuds=CrueDaoFactory.remplirNoeudAvecPersistanceDRSO(Noeuds,listeMessageError); //-- etape 2: les casiers --// - List<EMH> listeCasiers=CrueFactoryDao.remplirCasierAvecPersistanceDRSO(Casiers, listeNoeuds,listeMessageError); + List<EMH> listeCasiers=CrueDaoFactory.remplirCasierAvecPersistanceDRSO(Casiers, listeNoeuds,listeMessageError); //-- etape 3: les branches et les sections de bransche --// - List<EMH> listeBranches=CrueFactoryDao.remplirBrancheAvecPersistanceDRSO(Branches, listeNoeuds,listeMessageError); + List<EMH> listeBranches=CrueDaoFactory.remplirBrancheAvecPersistanceDRSO(Branches, listeNoeuds,listeMessageError); //-- etape 3: les sections a partir des sections cr\xE9es lors du remplissage des branches --// - List<EMH> listeSections= CrueFactoryDao.remplirSectionsAvecPersistanceDRSO(Sections, listeBranches,listeMessageError); + List<EMH> listeSections= CrueDaoFactory.remplirSectionsAvecPersistanceDRSO(Sections, listeBranches,listeMessageError); Added: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDSCP.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDSCP.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoDSCP.java 2009-03-10 18:01:18 UTC (rev 4525) @@ -0,0 +1,64 @@ +package main.java.org.fudaa.dodico.crue.dao; + +import java.util.ArrayList; +import java.util.List; + + +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheAbstract; +import main.java.org.fudaa.dodico.crue.metier.emh.EMH; + +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.DomDriver; + +/** + * Classe persistante qui reprend la meme structure que le fichier xml + * DSCP - Fichier des donn\xE9es de calcul (xml) + * A persister telle qu'elle. + * @author Adrien Hadoux + * + */ +public class CrueDaoDSCP extends CrueDaoParsing<List<EMH>>{ + + + + + /** + * la liste des branches + */ + private List<BrancheAbstract> Branches; + + + + @Override + public void fillInfosWith(List<EMH> data, List<String> listeMessageError) { + // TODO Auto-generated method stub + //-- etape 1: on remplit les infso des branches --// + Branches=CrueDaoFactory.remplirPersistanceAvecBrancheDSCP(data,listeMessageError); + + } + + @Override + List<EMH> fillInfosWithPersistant(Object data,List<String> listeMessageError) { + + if(data==null || ! (data instanceof List)){ + listeMessageError.add(CrueRessource.getS("Impossible de r\xE9cup\xE9rer les donn\xE9es r\xE9saux (DRSO). Les r\xE9f\xE9rences du fichier DSCP ne pourront etre utilis\xE9es.")); + return null; + } + List<EMH> listeEMHDRSO=(List<EMH> )data; + + + //-- remplissage des branches --// + CrueDaoFactory.remplirBrancheAvecPersistanceDSCP(Branches, listeEMHDRSO,listeMessageError); + + return listeEMHDRSO; + } + + @Override + public XStream initXmlParser() { + XStream xstream = new XStream(new DomDriver()); + //-- init du parser --// + (new DaoStructuresFormatDSCP()).initXmlParserForDSCP(xstream); + return xstream; + } + +} \ No newline at end of file Copied: branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactory.java (from rev 4516, branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueFactoryDao.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactory.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactory.java 2009-03-10 18:01:18 UTC (rev 4525) @@ -0,0 +1,1350 @@ +package main.java.org.fudaa.dodico.crue.dao; + + +import java.util.ArrayList; +import java.util.List; +import org.fudaa.ebli.geometrie.GrPoint; +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDRSO.*; +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.ElemSeuil; +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.ElemSeuilPdc; +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.ElemSeuilOrifice; +import main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDFRT.*; +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; +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.DonFrt; +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.EMHBrancheEnchainement; +import main.java.org.fudaa.dodico.crue.metier.emh.EMHBrancheNiveauxAssocies; +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.EMHBrancheStrickler; +import main.java.org.fudaa.dodico.crue.metier.emh.EMHCasierMNT; +import main.java.org.fudaa.dodico.crue.metier.emh.EMHCasierProfil; +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.metier.emh.StriRefC; +import main.java.org.fudaa.dodico.crue.metier.emh.StriRefH; +import main.java.org.fudaa.dodico.crue.metier.emh.StriRefZ; + +/** + * Factory qui se charge de remplir les structures DAO avec les donn\xE9es m\xE9tier et inversement. + * @author Adrien Hadoux + * + */ +public class CrueDaoFactory { + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent la premiere partie du fichier DRSO: les Noeuds. + * @param data + * @return + */ + public static List remplirPersistanceAvecNoeudDRSO(List<EMH> data,List<String> listeMessageError){ + List listePersistante=new ArrayList(); + if(data==null || data.size()==0){ + listeMessageError.add(CrueRessource.getS("Noeuds: la liste est vide.")); + }else + for(EMH emh:data ){ + if(emh instanceof CatEMHNoeud){ + CatEMHNoeud noeud=(CatEMHNoeud) emh; + NoeudNiveauContinu noeudPersist=new NoeudNiveauContinu(); + noeudPersist.Nom=noeud.getNom(); + listePersistante.add(noeudPersist); + } + } + return listePersistante; + } + + + /** + * Methode qui remplit une arrayList d'objets m\xE9tier EMH noeuds a partir des donn\xE9es persistantes qui constituent la premiere partie du fichier DRSO: les Noeuds. + * @param data + * @return + */ + public static List<EMH> remplirNoeudAvecPersistanceDRSO(List listePersistants,List<String> listeMessageError ){ + List<EMH> listeEMH=new ArrayList(); + + if(listePersistants==null || listePersistants.size()==0){ + listeMessageError.add(CrueRessource.getS("Noeuds: la liste est vide.")); + }else + for(Object persist:listePersistants ){ + if(persist instanceof NoeudNiveauContinu){ + NoeudNiveauContinu noeudPersist=(NoeudNiveauContinu) persist; + CatEMHNoeud noeud=new CatEMHNoeud(noeudPersist.Nom); + listeEMH.add(noeud); + } + } + return listeEMH; + } + + + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent la deuxieme partie du fichier DRSO: les Branches. + * @param data + * @return + */ + public static List remplirPersistanceAvecBrancheDRSO(List<EMH> data,List<String> listeMessageError){ + List listePersistante=new ArrayList(); + if(data==null || data.size()==0){ + listeMessageError.add(CrueRessource.getS("Branches: la liste est vide.")); + }else + for(EMH emh:data ){ + if(emh instanceof CatEMHBranche){ + CatEMHBranche branche=(CatEMHBranche) emh; + BrancheAbstract branchePersist=null; + if (branche instanceof EMHBrancheBarrageFilEau) { + EMHBrancheBarrageFilEau new_name = (EMHBrancheBarrageFilEau) branche; + branchePersist=new BrancheBarrageFilEau(); + }else if (branche instanceof EMHBrancheBarrageGenerique) { + EMHBrancheBarrageGenerique new_name = (EMHBrancheBarrageGenerique) branche; + branchePersist=new BrancheBarrageGenerique(); + }else if (branche instanceof EMHBrancheBarrageRhone) { + EMHBrancheBarrageRhone new_name = (EMHBrancheBarrageRhone) branche; + branchePersist=new BrancheBarrageRhone(); + }else if (branche instanceof EMHBrancheEnchainement) { + EMHBrancheEnchainement new_name = (EMHBrancheEnchainement) branche; + branchePersist=new BrancheEnchainement(); + }else if (branche instanceof EMHBrancheNiveauxAssocies) { + EMHBrancheNiveauxAssocies new_name = (EMHBrancheNiveauxAssocies) branche; + branchePersist=new BrancheNiveauxAssocies(); + }else if (branche instanceof EMHBrancheOrifice) { + EMHBrancheOrifice new_name = (EMHBrancheOrifice) branche; + branchePersist=new BrancheOrifice(); + }else if (branche instanceof EMHBranchePdc) { + EMHBranchePdc new_name = (EMHBranchePdc) branche; + branchePersist=new BranchePdc(); + }else if (branche instanceof EMHBrancheSaintVenant) { + EMHBrancheSaintVenant new_name = (EMHBrancheSaintVenant) branche; + branchePersist=new BrancheSaintVenant(); + }else if (branche instanceof EMHBrancheSeuilLongitudinale) { + EMHBrancheSeuilLongitudinale new_name = (EMHBrancheSeuilLongitudinale) branche; + branchePersist=new BrancheSeuilLateral(); + }else if (branche instanceof EMHBrancheSeuilTransversal) { + EMHBrancheSeuilTransversal new_name = (EMHBrancheSeuilTransversal) branche; + branchePersist=new BrancheSeuilTransversal(); + }else if (branche instanceof EMHBrancheStrickler) { + EMHBrancheStrickler new_name = (EMHBrancheStrickler) branche; + branchePersist=new BrancheStrickler(); + } + + if(branchePersist!=null){ + //-- commun --// + BrancheAbstract br=(BrancheAbstract) branchePersist; + br.Active=branche.isActive(); + br.Nom=branche.getNom(); + if(branche.getNoeudAmont()!=null) + br.NdAm=new NdAm(branche.getNoeudAmont().getNom()); + if(branche.getNoeudAval()!=null) + br.NdAv=new NdAv(branche.getNoeudAval().getNom()); + //-- on remplit les sections persistantes avec celle de la branche --// + br.Sections=CrueDaoFactory.remplirPersistanceAvecSectionsBrancheDRSO(branche.getListeSections(),listeMessageError); + listePersistante.add(br); + } + } + } + return listePersistante; + } + + + public static List<EMH> remplirBrancheAvecPersistanceDRSO(List listePersistante,List<EMH> listeNoeuds,List<String> listeMessageError){ + List<EMH> data=new ArrayList(); + if(listePersistante==null || listePersistante.size()==0){ + listeMessageError.add(CrueRessource.getS("Branches: la liste est vide.")); + }else + for(Object objet:listePersistante ){ + if(objet instanceof BrancheAbstract){ + CatEMHBranche branche=null; + BrancheAbstract branchePersist=(BrancheAbstract) objet; + String nom=branchePersist.Nom; + if (branchePersist instanceof BrancheBarrageFilEau) { + branche = new EMHBrancheBarrageFilEau(nom); + + }else if (branchePersist instanceof BrancheBarrageGenerique) { + branche = new EMHBrancheBarrageGenerique(nom); + + }else if (branchePersist instanceof BrancheBarrageRhone) { + branche = new EMHBrancheBarrageRhone(nom); + + }else if (branchePersist instanceof BrancheEnchainement) { + branche = new EMHBrancheEnchainement(nom); + + }else if (branchePersist instanceof BrancheNiveauxAssocies) { + branche = new EMHBrancheNiveauxAssocies(nom); + + }else if (branchePersist instanceof BrancheOrifice) { + branche = new EMHBrancheOrifice(nom); + + }else if (branchePersist instanceof BranchePdc) { + branche = new EMHBranchePdc(nom); + + }else if (branchePersist instanceof BrancheSaintVenant) { + branche = new EMHBrancheSaintVenant(nom); + + }else if (branchePersist instanceof BrancheSeuilLateral) { + branche = new EMHBrancheSeuilLongitudinale(nom); + + }else if (branchePersist instanceof BrancheSeuilTransversal) { + branche = new EMHBrancheSeuilTransversal(nom); + + }else if (branchePersist instanceof BrancheStrickler) { + branche = new EMHBrancheStrickler(nom); + + } + + if(branche!=null){ + //-- commun --// + + branche.setActive(branchePersist.Active); + //branche.setNom(branchePersist.Nom); + if(branchePersist.NdAm!=null){ + CatEMHNoeud noeudAmont=CatEMHNoeud.findByReference(branchePersist.NdAm.NomRef, listeNoeuds); + if(noeudAmont!=null) + branche.setNoeudAmont(noeudAmont); + else + listeMessageError.add(CrueRessource.getS("Branches: Impossible de trouver le noeud avec la r\xE9f\xE9rence "+branchePersist.NdAm.NomRef)); + }else + listeMessageError.add(CrueRessource.getS("Branches: Il n'y a pas de noeud amont pour la branche "+branche.getNom())); + if(branchePersist.NdAv!=null){ + CatEMHNoeud noeudAval=CatEMHNoeud.findByReference(branchePersist.NdAv.NomRef, listeNoeuds); + if(noeudAval!=null) + branche.setNoeudAval(noeudAval); + else + listeMessageError.add(CrueRessource.getS("Branches: Impossible de trouver le noeud avec la r\xE9f\xE9rence "+branchePersist.NdAv.NomRef)); + }else + listeMessageError.add(CrueRessource.getS("Branches: Il n'y a pas de noeud aval pour la branche "+branche.getNom())); + + //-- on remplit les sections persistantes avec celle de la branche --// + if(branchePersist.Sections!=null) + branche.setListeSections(CrueDaoFactory.remplirSectionsBrancheAvecPersistanceDRSO(branchePersist.Sections,listeMessageError)); + + + data.add(branche); + } + } + } + return data; + } + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent la troisi\xE8me partie du fichier DRSO: les Casier. + * @param data + * @return + */ + public static List remplirPersistanceAvecCasierDRSO(List<EMH> data,List<String> listeMessageError){ + List listePersistante=new ArrayList(); + for(EMH emh:data ){ + if(emh instanceof CatEMHCasier){ + CatEMHCasier casier=(CatEMHCasier)emh; + CasierAbstract casierPersist=null; + if(casier instanceof EMHCasierMNT){ + casierPersist=new CasierMNT(); + }else if(casier instanceof EMHCasierProfil){ + casierPersist= new CasierProfil(); + EMHCasierProfil casierProfil=(EMHCasierProfil) casier; + + ((CasierProfil)casierPersist).Profil= new ReferenceProfil(); + ((CasierProfil)casierPersist).Profil.NomRef=casierProfil.getNomProfil(); + } + //-- commun --// + if(casierPersist!=null){ + casierPersist.Active=casier.isActive(); + if(casier.getNoeud()!=null) + casierPersist.Noeud=new ReferenceNoeud(casier.getNoeud().getNom()); + casierPersist.Nom=casier.getNom(); + listePersistante.add(casierPersist); + } + + + } + } + + return listePersistante; + } + + + /** + * Methode qui remplit une arrayList d'objets m\xE9tier EMH casier a partir des donn\xE9es persistantes qui constituent a troisi\xE8me partie du fichier DRSO: les Casier. + * @param data + * @return + */ + public static List<EMH> remplirCasierAvecPersistanceDRSO(List listePersistants,List<EMH> listeNoeuds ,List<String> listeMessageError){ + List<EMH> listeEMH=new ArrayList(); + if(listePersistants==null || listePersistants.size()==0){ + listeMessageError.add(CrueRessource.getS("Casiers: la liste est vide.")); + }else + for(Object persist:listePersistants ){ + if(persist instanceof CasierAbstract){ + CasierAbstract casierPersist=(CasierAbstract) persist; + String nom=casierPersist.Nom; + //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// + CatEMHCasier casier=null; + + //-- on recherche sa sp\xE9cialisation --// + if(casierPersist instanceof CasierProfil){ + casier=new EMHCasierProfil(nom); + if(((CasierProfil)casierPersist).Profil!=null) + ((EMHCasierProfil)casier).setNomProfil(((CasierProfil)casierPersist).Profil.NomRef); + }else if(casierPersist instanceof CasierMNT){ + casier=new EMHCasierMNT(nom); + } + + //-- commun aux objets --// + if(casier!=null){ + casier.setActive(casierPersist.Active); + if(casierPersist.Noeud!=null){ + String reference=casierPersist.Noeud.NomRef; + + + CatEMHNoeud noeudRef=CatEMHNoeud.findByReference(reference, listeNoeuds); + if(noeudRef!=null) + casier.setNoeud(noeudRef); + else + listeMessageError.add(CrueRessource.getS("Casier: Impossible de trouver le noeud avec la r\xE9f\xE9rence "+reference)); + } else + listeMessageError.add(CrueRessource.getS("Casier: Il n'y a pas de noeud pour le casier "+casier.getNom())); + + listeEMH.add(casier); + } + } + } + return listeEMH; + } + + + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent la quatri\xE8me partie du fichier DRSO: les Sections-references. + * @param data + * @return + */ + public static List remplirPersistanceAvecSectionsDRSO(List<EMH> data,List<String> listeMessageError){ + List listePersistante=new ArrayList(); + for(EMH emh:data ){ + if(emh instanceof CatEMHSection){ + CatEMHSection section=(CatEMHSection)emh; + SectionAbstract sectionPersist=null; + if(section instanceof EMHSectionIdem){ + sectionPersist=new SectionRefIdem(); + }else + if(section instanceof EMHSectionInterpolee){ + sectionPersist=new SectionRefInterpolee(); + }else + if(section instanceof EMHSectionProfil){ + sectionPersist=new SectionRefProfil(); + }else + if(section instanceof EMHSectionSansGeometrie){ + sectionPersist=new SectionRefSansGeometrie(); + } + + //-- commun --// + if(sectionPersist!=null){ + sectionPersist.Nom=section.getNom(); + listePersistante.add(sectionPersist); + } + } + } + return listePersistante; + } + + /** + * Methode qui remplit une arrayList d'objets m\xE9tier EMH sections de branches a partir des donn\xE9es persistantes qui constituent la partie interne d'une partie Branche du fichier DRSO: les Sections. + * @param data + * @return + */ + public static List<CatEMHSection> remplirSectionsBrancheAvecPersistanceDRSO(List listePersistantsBranches,List<String> listeMessageError){ + List<CatEMHSection> listeEMH=new ArrayList<CatEMHSection>(); + if(listePersistantsBranches==null || listePersistantsBranches.size()==0){ + listeMessageError.add(CrueRessource.getS("Sections Branches: la liste est vide.")); + }else + for(Object persist:listePersistantsBranches ){ + if(persist instanceof SectionBrancheAbstract){ + SectionBrancheAbstract sectionPersist=(SectionBrancheAbstract) persist; + + //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// + CatEMHSection section=null; + String nom=sectionPersist.NomRef; + //-- on recherche sa sp\xE9cialisation --// + if(sectionPersist instanceof SectionIdem){ + section=new EMHSectionIdem(nom); + + }else if(sectionPersist instanceof SectionInterpolee){ + section=new EMHSectionInterpolee(nom); + }else if(sectionPersist instanceof SectionProfil){ + section=new EMHSectionProfil(nom); + }else if(sectionPersist instanceof SectionSansGeometrie){ + section=new EMHSectionSansGeometrie(nom); + } + + //-- commun aux objets --// + if(section!=null){ + + if(sectionPersist.Pos!=null) + section.setPosition(sectionPersist.Pos); + section.setXp(sectionPersist.Xp); + listeEMH.add(section); + } + } + } + return listeEMH; + } + + /** + * Methode qui remplit une arrayList d'objets m\xE9tier EMH sections a partir des donn\xE9es persistantes qui constituent a quatrieme partie du fichier DRSO: les Sections. + * @param data + * @return + */ + public static List<EMH> remplirSectionsAvecPersistanceDRSO(List listePersistantsSection,List<EMH> listeBranches,List<String> listeMessageError){ + List<EMH> listeEMH=new ArrayList<EMH>(); + if(listePersistantsSection==null || listePersistantsSection.size()==0){ + listeMessageError.add(CrueRessource.getS("Sections : la liste est vide.")); + }else + for(Object persist:listePersistantsSection ){ + if(persist instanceof SectionAbstract){ + SectionAbstract sectionPersist=(SectionAbstract) persist; + + //-- on d\xE9clare une version abstraite EMH m\xE9tier du type --// + CatEMHSection section=null; + String reference=sectionPersist.Nom; + section=CatEMHSection.findByReferenceFromBrancheOrSectionEMH(reference, listeBranches); + + + + if(section!=null) + listeEMH.add(section); + else + listeMessageError.add(CrueRessource.getS("Sections : Impossible de trouver la section de r\xE9f\xE9rence "+reference)); + } + } + return listeEMH; + } + + + /** + * Remplit les don\xE9nes persistantes avec la liste des sections d'une branche. + * Remplit toutes les donn\xE9es associ\xE9es aux sections + * @param data + * @return + */ + public static List remplirPersistanceAvecSectionsBrancheDRSO(List<CatEMHSection> data,List<String> listeMessageError){ + List listePersistante=new ArrayList(); + for(EMH emh:data ){ + if(emh instanceof CatEMHSection){ + CatEMHSection section=(CatEMHSection)emh; + 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(); + } + + //-- commun --// + if(sectionPersist!=null){ + sectionPersist.NomRef=section.getNom(); + + sectionPersist.Pos=section.getPosition(); + sectionPersist.Xp=section.getXp(); + + + listePersistante.add(sectionPersist); + } + } + } + return listePersistante; + } + + /** + * remplir le fichier DFRT avec les frottemetns + * @param data + * @return + */ + public static List<StriRefPersist> remplirPersistanceAvecFrottemetnsDFRT(List<DonFrt> data,List<String> listeMessageError){ + 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,List<String> listeMessageError){ + List<DonFrt> data=new ArrayList<DonFrt>(); + if(persistListe==null || persistListe.size()==0){ + listeMessageError.add(CrueRessource.getS("Frottements : la liste est vide.")); + }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){ + listeMessageError.add(CrueRessource.getS("Frottement: "+frt.getNom()+": impossible de r\xE9cup\xE9rer le r\xE9el du contenu: "+buff)); + } + 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)); + } + listePoints.add(new GrPoint(x,y,0)); + + } + + + frt.setListePoints(listePoints); + } + data.add(frt); + } + + } + return data; + } + + + /** + * Remplit les donn\xE9es persistante avec les conditions initiales des noeuds + * @param data + * @param listeMessageError + * @return + */ + public static List remplirPersistanceAvecNoeudDPTI(List<EMH> data,List<String> listeMessageError){ + List listePersistante=new ArrayList(); + if(data==null || data.size()==0){ + listeMessageError.add(CrueRessource.getS("Noeuds: la liste est vide.")); + }else + for(EMH emh:data ){ + if(emh instanceof CatEMHNoeud){ + CatEMHNoeud noeud=(CatEMHNoeud) emh; + main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.NoeudNiveauContinu noeudPersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.NoeudNiveauContinu(); + noeudPersist.NomRef=CrueDaoDRSO.SUFFIXE_REF_DRSO+noeud.getNom(); + noeudPersist.Zini=noeud.getZini(); + listePersistante.add(noeudPersist); + } + } + return listePersistante; + } + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent la deuxieme partie du fichier DRSO: les Branches. + * @param data + * @return + */ + public static List<main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheAbstract> remplirPersistanceAvecBrancheDPTI(List<EMH> data,List<String> listeMessageError){ + String suffixe=CrueDaoDRSO.SUFFIXE_REF_DRSO; + List<main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheAbstract> listePersistante=new ArrayList<main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheAbstract>(); + if(data==null || data.size()==0){ + listeMessageError.add(CrueRessource.getS("Branches: la liste est vide.")); + }else + for(EMH emh:data ){ + if(emh instanceof CatEMHBranche){ + CatEMHBranche branche=(CatEMHBranche) emh; + main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheAbstract branchePersist=null; + if (branche instanceof EMHBrancheBarrageFilEau) { + EMHBrancheBarrageFilEau new_name = (EMHBrancheBarrageFilEau) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheBarrageFilEau(); + }else if (branche instanceof EMHBrancheBarrageGenerique) { + EMHBrancheBarrageGenerique new_name = (EMHBrancheBarrageGenerique) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheBarrageGenerique(); + }else if (branche instanceof EMHBrancheBarrageRhone) { + EMHBrancheBarrageRhone new_name = (EMHBrancheBarrageRhone) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheBarrageRhone(); + }else if (branche instanceof EMHBrancheEnchainement) { + EMHBrancheEnchainement new_name = (EMHBrancheEnchainement) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheEnchainement(); + }else if (branche instanceof EMHBrancheNiveauxAssocies) { + EMHBrancheNiveauxAssocies new_name = (EMHBrancheNiveauxAssocies) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheNiveauxAssocies(); + }else if (branche instanceof EMHBrancheOrifice) { + EMHBrancheOrifice new_name = (EMHBrancheOrifice) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheOrifice(); + + (( main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheOrifice)branchePersist).OuvPasseDessous=new_name.getOuvPasseDessous(); + + }else if (branche instanceof EMHBranchePdc) { + EMHBranchePdc new_name = (EMHBranchePdc) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BranchePdc(); + }else if (branche instanceof EMHBrancheSaintVenant) { + EMHBrancheSaintVenant new_name = (EMHBrancheSaintVenant) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheSaintVenant(); + }else if (branche instanceof EMHBrancheSeuilLongitudinale) { + EMHBrancheSeuilLongitudinale new_name = (EMHBrancheSeuilLongitudinale) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheSeuilLateral(); + }else if (branche instanceof EMHBrancheSeuilTransversal) { + EMHBrancheSeuilTransversal new_name = (EMHBrancheSeuilTransversal) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheSeuilTransversal(); + }else if (branche instanceof EMHBrancheStrickler) { + EMHBrancheStrickler new_name = (EMHBrancheStrickler) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheStrickler(); + } + + if(branchePersist!=null){ + //-- commun --// + + branchePersist.NomRef=suffixe+branche.getNom(); + + branchePersist.Qini=new Double(branche.getQini()); + branchePersist.Qruis=new Double(branche.getQruis()); + + + listePersistante.add(branchePersist); + } + } + } + return listePersistante; + } + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent la troisi\xE8me partie du fichier DRSO: les Casier. + * @param data + * @return + */ + public static List<main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.CasierAbstract> remplirPersistanceAvecCasierDPTI(List<EMH> data,List<String> listeMessageError){ + List<main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.CasierAbstract> listePersistante=new ArrayList<main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.CasierAbstract>(); + for(EMH emh:data ){ + if(emh instanceof CatEMHCasier){ + CatEMHCasier casier=(CatEMHCasier)emh; + main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.CasierAbstract casierPersist=null; + if(casier instanceof EMHCasierMNT){ + casierPersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.CasierMNT(); + }else if(casier instanceof EMHCasierProfil){ + casierPersist= new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.CasierProfil(); + } + //-- commun --// + if(casierPersist!=null){ + casierPersist.NomRef=CrueDaoDRSO.SUFFIXE_REF_DRSO+casier.getNom(); + casierPersist.Qruis=casier.getQruis(); + listePersistante.add(casierPersist); + } + } + } + return listePersistante; + } + + /** + * Methode qui met a jour les objets m\xE9tier EMH noeuds a partir des donn\xE9es persistantes de DPTI et les pr\xE9chargements de DRSO + * @param data + * @return + */ + public static void remplirNoeudAvecPersistanceDPTI(List<main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.NoeudNiveauContinu> listePersistants,List<EMH> data,List<String> listeMessageError ){ + if(listePersistants==null || listePersistants.size()==0){ + listeMessageError.add(CrueRessource.getS("Noeuds: la liste est vide.")); + }else + for(Object persist:listePersistants ){ + if(persist instanceof main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.NoeudNiveauContinu){ + main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.NoeudNiveauContinu noeudPersist=(main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.NoeudNiveauContinu) persist; + String reference=noeudPersist.NomRef; + if(reference.contains(CrueDaoDRSO.SUFFIXE_REF_DRSO)){ + reference=reference.replace(CrueDaoDRSO.SUFFIXE_REF_DRSO,""); + } + CatEMHNoeud noeud=CatEMHNoeud.findByReference(reference, data); + if(noeud==null){ + listeMessageError.add(CrueRessource.getS("Noeuds : Impossible de trouver le noeud de r\xE9f\xE9rence "+reference)); + }else{ + noeud.setZini(noeudPersist.Zini); + } + } + } + + } + /** + * 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 remplirBrancheAvecPersistanceDPTI(List<main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheAbstract> listePersistants,List<EMH> data,List<String> listeMessageError ){ + if(listePersistants==null || listePersistants.size()==0){ + listeMessageError.add(CrueRessource.getS("Branches: la liste est vide.")); + }else + for(Object persist:listePersistants ){ + if(persist instanceof main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheAbstract){ + main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheAbstract branchePersist=(main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheAbstract) persist; + String reference=branchePersist.NomRef; + if(reference.contains(CrueDaoDRSO.SUFFIXE_REF_DRSO)){ + reference=reference.replace(CrueDaoDRSO.SUFFIXE_REF_DRSO,""); + } + CatEMHBranche branche=CatEMHBranche.findByReference(reference, data); + if(branche==null){ + listeMessageError.add(CrueRessource.getS("Branche : Impossible de trouver la branche de r\xE9f\xE9rence "+reference)); + }else{ + if(branchePersist.Qini!=null) + branche.setQini(branchePersist.Qini); + if(branchePersist.Qruis!=null) + branche.setQruis(branchePersist.Qruis); + + //-- cas particuliers --// + if(branchePersist instanceof main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheOrifice){ + EMHBrancheOrifice br=(EMHBrancheOrifice)branche; + main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheOrifice orif=(main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.BrancheOrifice) branchePersist; + if(orif.OuvPasseDessous!=null) + br.setOuvPasseDessous(orif.OuvPasseDessous); + } + } + } + } + } + + + /** + * Methode qui met a jour les objets m\xE9tier EMH noeuds a partir des donn\xE9es persistantes de DPTI et les pr\xE9chargements de DRSO + * @param data + * @return + */ + public static void remplirCasierAvecPersistanceDPTI(List<main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.CasierAbstract> listePersistants,List<EMH> data,List<String> listeMessageError ){ + if(listePersistants==null || listePersistants.size()==0){ + listeMessageError.add(CrueRessource.getS("Casiers: la liste est vide.")); + }else + for(Object persist:listePersistants ){ + if(persist instanceof main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.CasierAbstract){ + main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.CasierAbstract casierPersist=(main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDPTI.CasierAbstract) persist; + String reference=casierPersist.NomRef; + if(reference.contains(CrueDaoDRSO.SUFFIXE_REF_DRSO)){ + reference=reference.replace(CrueDaoDRSO.SUFFIXE_REF_DRSO,""); + } + CatEMHCasier casier=CatEMHCasier.findByReference(reference, data); + if(casier==null){ + listeMessageError.add(CrueRessource.getS("Casiers : Impossible de trouver le casier de r\xE9f\xE9rence "+reference)); + }else{ + if(casierPersist.Qruis!=null) + casier.setQruis(casierPersist.Qruis); + } + } + } + + } + + + /** + * Methode qui remplit une arrayList d'objets persistants qui constituent le fichier fichier DSCP: les Branches. + * @param data + * @return + */ + public static List<main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheAbstract> remplirPersistanceAvecBrancheDSCP(List<EMH> data,List<String> listeMessageError){ + String suffixe=CrueDaoDRSO.SUFFIXE_REF_DRSO; + List<main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheAbstract> listePersistante=new ArrayList<main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheAbstract>(); + if(data==null || data.size()==0){ + listeMessageError.add(CrueRessource.getS("Branches: la liste est vide.")); + }else + for(EMH emh:data ){ + if(emh instanceof CatEMHBranche){ + CatEMHBranche branche=(CatEMHBranche) emh; + DonCalcSansPrt dataCalc=null; + main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheAbstract branchePersist=null; + if (branche instanceof EMHBrancheBarrageFilEau) { + EMHBrancheBarrageFilEau new_name = (EMHBrancheBarrageFilEau) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheBarrageFilEau(); + + //-- recuperation de la donnee de calcul de la branche --// + dataCalc=branche.getDSCP(); + if(dataCalc!=null ){ + + if( dataCalc instanceof DonCalcSansPrtBarrageFilEau){ + main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheBarrageFilEau br=(main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.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{ + 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())); + } + }else{ + listeMessageError.add(CrueRessource.getS("Branche : Aucune donnee DSCP pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + } + + }else if (branche instanceof EMHBrancheBarrageGenerique) { + EMHBrancheBarrageGenerique new_name = (EMHBrancheBarrageGenerique) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheBarrageGenerique(); + //-- recuperation de la donnee de calcul de la branche --// + dataCalc=branche.getDSCP(); + if(dataCalc!=null ){ + + if( dataCalc instanceof DonCalcSansPrtBarrageFilEau){ + main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheBarrageGenerique br=(main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.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{ + listeMessageError.add(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche barrage Generique) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + } + }else{ + listeMessageError.add(CrueRessource.getS("Branche : Aucune donnee DSCP pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + } + + }else if (branche instanceof EMHBrancheBarrageRhone) { + EMHBrancheBarrageRhone new_name = (EMHBrancheBarrageRhone) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheBarrageRhone(); + //-- recuperation de la donnee de calcul de la branche --// + dataCalc=branche.getDSCP(); + if(dataCalc!=null ){ + + if( dataCalc instanceof DonCalcSansPrtBarrageFilEau){ + main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheBarrageRhone br=(main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.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{ + listeMessageError.add(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche barrage Rhone) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + } + }else{ + listeMessageError.add(CrueRessource.getS("Branche : Aucune donnee DSCP pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + } + + } +// 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 main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheOrifice(); + + //-- recuperation de la donnee de calcul de la branche --// + dataCalc=branche.getDSCP(); + if(dataCalc!=null ){ + + if( dataCalc instanceof DonCalcSansPrtBrancheOrifice){ + main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheOrifice br=(main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.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{ + listeMessageError.add(CrueRessource.getS("Branche : Donnee DSCP incorrecte (attendu. donnees branche Orifice) pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + } + }else{ + listeMessageError.add(CrueRessource.getS("Branche : Aucune donnee DSCP pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + } + + }else if (branche instanceof EMHBranchePdc) { + EMHBranchePdc new_name = (EMHBranchePdc) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BranchePdc(); + + //-- recuperation de la donnee de calcul de la branche --// + dataCalc=branche.getDSCP(); + if(dataCalc!=null ){ + + if( dataCalc instanceof DonCalcSansPrtBranchePDC){ + main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BranchePdc br=(main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BranchePdc)branchePersist; + + //-- recuperation de la formule --// + if(((DonCalcSansPrtBranchePDC)dataCalc).getPdc_DZ()!=null) + 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())); + } + }else{ + listeMessageError.add(CrueRessource.getS("Branche : Aucune donnee DSCP pour l'objet branche de r\xE9f\xE9rence"+branche.getNom())); + } + + + }else if (branche instanceof EMHBrancheSaintVenant) { + EMHBrancheSaintVenant new_name = (EMHBrancheSaintVenant) branche; + branchePersist=new main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheSaintVenant(); + //-- recuperation de la donnee de calcul de la branche --// + dataCalc=branche.getDSCP(); + if(dataCalc!=null ){ + + if( dataCalc instanceof DonCalcSansPrtBrancheSaintVenant){ + main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheClassiqueAbstract br=(main.java.org.fudaa.dodico.crue.dao.DaoStructuresFormatDSCP.BrancheClassiqueAbstract)branchePersist; + + br... [truncated message content] |
From: <had...@us...> - 2009-03-17 18:50:32
|
Revision: 4554 http://fudaa.svn.sourceforge.net/fudaa/?rev=4554&view=rev Author: hadouxad Date: 2009-03-17 18:50:18 +0000 (Tue, 17 Mar 2009) Log Message: ----------- - Gestion Fichier ETU 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/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/CrueDaoParsing.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/metier/EMHModeleBase.java Added Paths: ----------- 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/CrueDaoPersistETU.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/valideETU.xsd 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/EMHproject.java branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java 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-17 18:48:26 UTC (rev 4553) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Modifications-Obligatoires.txt 2009-03-17 18:50:18 UTC (rev 4554) @@ -17,4 +17,60 @@ - balise <BrancheSeuilTransversal> et <BrancheSeuilLateral> contiennent des \xE9l\xE9ments <ElemSeuilPdc> au lieu de <ElemSeuil> car ce sont les balises <BrancheBarrageFilEau> qui contiennent des \xE9l\xE9ments <ElemSeuil> (sans pdc) - En effet avant la contrainte d'unicit\xE9 n'est pas appliqu\xE9e. \ No newline at end of file + En effet avant la contrainte d'unicit\xE9 n'est pas appliqu\xE9e. + + + + - FICHIER ETU + -Unicit\xE9 contrainte: + - remplacer la structure de la balise scenario courant: + <ScenarioCourant> + <Scenario NomRef="SCMod3"/> + </ScenarioCourant> + par + <ScenarioCourant NomRef="SCMod3" /> + (la balise Scenario d\xE9ja utilis\xE9e) + + - remplacer dans la balise <Repertoire>: + + remplacer <Repertoire Nom="FICHETUDES">C:\DATA\Crue\Modele3\</Repertoire> + par + <Repertoire Nom="FICHETUDES"> + <path> C:\DATA\Crue\Modele3\</path> + </Repertoire> + + - remplacer dans la balise <SousModele>, <Modeles> et <Scenario> pour la liste des fichiers + <FichEtudes> + <DRSO NomRef="SMMOModele3.drso.xml" /> + <DCSP NomRef="SMMOModele3.dcsp.xml" /> + <DPTG NomRef="SMMOModele3.dptg.xml" /> + .... + <DFRT NomRef="SMMOModele3.dfrt.xml" /> + </FichEtudes> + par + <FichEtudes> + <Fichier NomRef="SMMOModele3.drso.xml" /> + <Fichier NomRef="SMMOModele3.dcsp.xml" /> + <Fichier NomRef="SMMOModele3.dptg.xml" /> + .... + <Fichier NomRef="SMMOModele3.dfrt.xml" /> + </FichEtudes> + en effet les fichiers sont d\xE9ja d\xE9fini par leur r\xE9f\xE9rence, inutile de pr\xE9ciser les balises: redondance et non unicit\xE9. + + - remplacer dans la balise <Modele>: renomer les balises <SousModele> par <SousModele-ref> + + - remplacer dans la balise <Scenario>: renomer les balises <Modele> par <Modele-ref> + + + - remplacer dans la balise <runs>; renommer les balises <Modele> en <Modele-run> + + + - remplacer dans la balise <scenario>: renommer la balise <RunCourant> : + <RunCourant> + <Run NomRef="20090211152047"/> + </RunCourant> + + a remplacer par : + <RunCourant NomRef="20090211152047"/> + + \ No newline at end of file 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-17 18:48:26 UTC (rev 4553) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/Fichiers_donnees_Crue/Questions-ModelisationDonnees.txt 2009-03-17 18:50:18 UTC (rev 4554) @@ -64,6 +64,11 @@ exemple: nomProfil="toto" pr\xE9sent \xE0 la fois dans 2 sectionProfils du fichier DRSO ? + + - 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? + - 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/dao/CrueDaoFactoryCommom.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java 2009-03-17 18:48:26 UTC (rev 4553) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryCommom.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -12,6 +12,38 @@ */ public class CrueDaoFactoryCommom { + + + //-- 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 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="DRSO"; + public static String DH="DRSO"; + + + //-- fichiers de resultats --// + 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 @@ -71,7 +103,26 @@ return CrueRessource.getS(balise+": Impossible de trouver la "+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 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-17 18:48:26 UTC (rev 4553) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryDCSP.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -62,7 +62,7 @@ //CrueDaoFactoryDCSP.remplirPersistanceAvecBrancheDSCP(persistance.Branches,data,listeMessageError); if(data==null || data.size()==0){ - listeMessageError.add(CrueDaoFactoryCommom.emhEmpty("DCSP")); + listeMessageError.add(CrueDaoFactoryCommom.emhEmpty(CrueDaoFactoryCommom.DCSP)); }else for(EMH emh:data ){ if(emh instanceof CatEMHBranche){ @@ -74,7 +74,7 @@ if(dataCalc!=null ){ CrueDaoFactoryDCSP.remplirPersistanceAvecBrancheDSCP(persistance.Branches,branche,dataCalc,listeMessageError); }else{ - listeMessageError.add(CrueDaoFactoryCommom.unknowdataFromFile("Branches", "DCSP", branche.getNom())); + listeMessageError.add(CrueDaoFactoryCommom.unknowdataFromFile("Branches", CrueDaoFactoryCommom.DCSP, branche.getNom())); } } @@ -87,7 +87,7 @@ remplirPersistanceAvecSectionsBrancheDSCP(persistance.Sections, section,(DonCalcSansPrtSection)dataCalc, listeMessageError); }else{ - listeMessageError.add(CrueDaoFactoryCommom.unknowdataFromFile("Section", "DCSP", section.getNom())); + listeMessageError.add(CrueDaoFactoryCommom.unknowdataFromFile("Section", CrueDaoFactoryCommom.DCSP, section.getNom())); } Added: 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 (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoFactoryETU.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -0,0 +1,165 @@ +package main.java.org.fudaa.dodico.crue.dao; + +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.metier.EMHProjectInfos; +import main.java.org.fudaa.dodico.crue.metier.EMHproject; +import main.java.org.fudaa.dodico.crue.metier.FichierCrue; + + + +/** + * Factory qui se charge de remplir les structures DAO dufichier ETU avec les donn\xE9es m\xE9tier et inversement. + * @author Adrien Hadoux + * + */ +public class CrueDaoFactoryETU { + + /** + * Remplit un projet EMH avec les donn\xE9es du fichier ETU. + * @param persistance + * @param listeMessageError + * @return + */ + public static EMHproject remplirMetierETU(CrueDaoPersistETU persistance,List<String> listeMessageError){ + EMHproject project=new EMHproject(); + + //-- remplissage des infos du projet --// + EMHProjectInfos infos=remplirMetierInfos(persistance); + + //-- remplissage de la base de fichiers utilis\xE9s dans tout le projet --// + remplirBaseDeFichiers(persistance.FichEtudes, infos, listeMessageError); + + //-- Directories --// + remplirBaseDirectories(persistance.Repertoires, infos, listeMessageError); + + + //TODO la suite en commencant par les sous modeles... // + + + + + //-- ajout des infos au projet actuel --// + project.setInfos(infos); + + + + + + return project; + } + + /** + * Remplit les infos avce les commentaires,dates, user,... + * Donnees optionnelles. + * @param persistance + * @return + */ + public static EMHProjectInfos remplirMetierInfos(CrueDaoPersistETU persistance){ + EMHProjectInfos infos=new EMHProjectInfos(); + + 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); + + return infos; + } + + /** + * Remplit la base de fichiers du projet. + * @param FichEtudesPersist + * @param infoProjet + * @param listeMessageError + * @return + */ + public static void remplirBaseDeFichiers(List<TypeFichierDispo> fichEtudesPersist,EMHProjectInfos infoProjet,List<String> listeMessageError){ + + if(fichEtudesPersist==null){ + listeMessageError.add(CrueDaoFactoryCommom.listEmpty("FichEtudes")); + return; + } + for(TypeFichierDispo fichierPersist:fichEtudesPersist){ + + if(fichierPersist.Nom!=null && fichierPersist.Chemin!=null && fichierPersist.getType()!=null){ + FichierCrue file=new FichierCrue(fichierPersist.Nom,fichierPersist.Chemin,fichierPersist.getType()); + + if(!infoProjet.addCrueFileToProject(file)){ + listeMessageError.add(CrueDaoFactoryCommom.errorIdNonUnique("FichEtudes",file.getId())); + } + + } + else{ + listeMessageError.add(CrueDaoFactoryCommom.messageBaliseError("FichEtudes",CrueRessource.getS("Erreur Fichier ETU: un des 3 param\xE8tres (id,path,type) est manquant"))); + } + + + + } + + + } + + /** + * Remplit les directories: les r\xE9pertoires principaux qui contiennent les fichier de donn\xE9es, ETUDE,RUN et RAPPORT. + * Gere les no clef et retourne les erreurs en cas de probl\xE8me. + * @param directoriesPersist + * @param infoProjet + * @param listeMessageError + */ + public static void remplirBaseDirectories(List<Repertoire> directoriesPersist,EMHProjectInfos infoProjet,List<String> listeMessageError){ + if(directoriesPersist==null){ + listeMessageError.add(CrueDaoFactoryCommom.listEmpty("Repertoires")); + return; + } + Map<String,String> directories=new HashMap<String, String>(); + + for(Repertoire fichierPersist:directoriesPersist){ + + if(fichierPersist.Nom!=null && fichierPersist.path!=null){ + String key=fichierPersist.Nom; + if(key.toUpperCase().equals(EMHProjectInfos.FICHETUDES)) + //-- fichier etudes --// + directories.put(EMHProjectInfos.FICHETUDES, fichierPersist.path); + else + if(key.toUpperCase().equals(EMHProjectInfos.RAPPORTS)) + //-- fichier etudes --// + directories.put(EMHProjectInfos.RAPPORTS, fichierPersist.path); + else + if(key.toUpperCase().equals(EMHProjectInfos.RUNS)) + //-- fichier etudes --// + directories.put(EMHProjectInfos.RUNS, fichierPersist.path); + else{ + //-- erreur clef non reconnue --// + listeMessageError.add(CrueDaoFactoryCommom.messageBaliseError("Repertoires",CrueRessource.getS("Erreur Fichier ETU: le nom-clef "+key+" du r\xE9pertoire est invalide: doit etre "+EMHProjectInfos.FICHETUDES+" ou "+EMHProjectInfos.RAPPORTS+" ou "+EMHProjectInfos.RUNS))); + } + + } + else{ + listeMessageError.add(CrueDaoFactoryCommom.messageBaliseError("Repertoires",CrueRessource.getS("Erreur Fichier ETU: un des 2 param\xE8tres (nom,path) est manquant"))); + } + + + + } + + //-- ajout du directories dans les infos EMH --// + infoProjet.setDirectories(directories); + + } + + +} 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-17 18:48:26 UTC (rev 4553) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoParsing.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -62,7 +62,7 @@ */ public boolean persistData(File fichier,List<String> listeMessageError) { boolean isOk=true; - ObjectOutputStream out=null; + OutputStreamWriter writer=null; try { writer=new OutputStreamWriter(new FileOutputStream(fichier),"UTF-8"); Added: 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 (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoPersistETU.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -0,0 +1,60 @@ +package main.java.org.fudaa.dodico.crue.dao; + +import java.util.List; + +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.DomDriver; + +import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatETU.Modele; +import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatETU.Repertoire; +import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatETU.Scenario; +import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatETU.ScenarioCourant; +import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatETU.SousModele; +import main.java.org.fudaa.dodico.crue.dao.CrueDaoStructuresFormatETU.TypeFichierDispo; +import main.java.org.fudaa.dodico.crue.metier.EMHproject; + +/** + * Persistence du fichier XML ETU, + * le seul pour les gouverner tous. + * @author Adrien Hadoux + * + */ +public class CrueDaoPersistETU extends CrueDaoParsing<EMHproject>{ + + + public String Creation; + public String DateCreation; + public String AuteurDerniereModif; + public String DateDerniereModif; + public ScenarioCourant ScenarioCourant; + public List<Repertoire> Repertoires; + public List<TypeFichierDispo> FichEtudes; + public List<SousModele> SousModeles; + public List<Modele> Modeles; + //TODO definir utilisation + public String Rapports; + public List<Scenario> Scenarios; + + + @Override + public void fillInfosWith(EMHproject data, List<String> listeMessageError) { + + //-- on ne fais pas d'\xE9criture pour ce fichier --// + } + + @Override + public EMHproject fillInfosWithPersistant(Object dataLinked, + List<String> listeMessageError) { + // TODO Auto-generated method stub + return CrueDaoFactoryETU.remplirMetierETU(this, listeMessageError); + } + + @Override + public XStream initXmlParser(){ + XStream xstream = new XStream(new DomDriver()); + //-- initialisation du format de la structure des documents --// + (new CrueDaoStructuresFormatETU()).initXmlParserForETU(xstream); + return xstream; + } + +} Modified: 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/CrueDaoStructuresFormatDCSP.java 2009-03-17 18:48:26 UTC (rev 4553) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDCSP.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -14,7 +14,7 @@ */ public void initXmlParserForDSCP(XStream xstream ){ //-- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias("DCSP", CrueDaoPersistDCSP.class); + xstream.alias(CrueDaoFactoryCommom.DCSP, CrueDaoPersistDCSP.class); //-- liste des initialisations n\xE9cessaires pour le formattage des donn\xE9es--// initXmlParserBranche(xstream); initXmlParserSection(xstream); Modified: 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/CrueDaoStructuresFormatDFRT.java 2009-03-17 18:48:26 UTC (rev 4553) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDFRT.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -31,7 +31,7 @@ public void initXmlParserForDFRT(XStream xstream ){ //-- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias("DFRT", CrueDaoPersistDFRT.class); + xstream.alias(CrueDaoFactoryCommom.DFRT, CrueDaoPersistDFRT.class); //-- liste des initialisations n\xE9cessaires pour le formattage des donn\xE9es--// initXmlParserStriRef(xstream); Modified: 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/CrueDaoStructuresFormatDPTG.java 2009-03-17 18:48:26 UTC (rev 4553) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDPTG.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -18,7 +18,7 @@ public void initXmlParserForDPTG(XStream xstream ){ //-- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias("DPTG", CrueDaoPersistDPTG.class); + xstream.alias(CrueDaoFactoryCommom.DPTG, CrueDaoPersistDPTG.class); //-- liste des initialisations n\xE9cessaires pour le formattage des donn\xE9es--// initXmlParserProfils(xstream); initXmlParserSections(xstream); Modified: 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/CrueDaoStructuresFormatDPTI.java 2009-03-17 18:48:26 UTC (rev 4553) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDPTI.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -15,7 +15,7 @@ public void initXmlParserForDPTI(XStream xstream ){ //-- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias("DPTI", CrueDaoPersistDPTI.class); + xstream.alias(CrueDaoFactoryCommom.DPTI, CrueDaoPersistDPTI.class); //-- liste des initialisations n\xE9cessaires pour le formattage des donn\xE9es--// initXmlParserNode(xstream); initXmlParserBranche(xstream); 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-17 18:48:26 UTC (rev 4553) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatDRSO.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -24,7 +24,7 @@ */ public void initXmlParserForDRSO(XStream xstream ){ //-- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias("DRSO", CrueDaoPersistDRSO.class); + xstream.alias(CrueDaoFactoryCommom.DRSO, CrueDaoPersistDRSO.class); //-- liste des initialisations n\xE9cessaires pour le formattage des donn\xE9es--// initXmlParserNode(xstream); initXmlParserBranche(xstream); @@ -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"); @@ -448,6 +448,7 @@ public static class ReferenceProfil { public String NomRef; } + public static class ReferenceProfilConverter implements SingleValueConverter { public String toString(Object obj) { return ((ReferenceProfil) obj).NomRef; } Added: 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 (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/CrueDaoStructuresFormatETU.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -0,0 +1,445 @@ +package main.java.org.fudaa.dodico.crue.dao; + +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; +import com.thoughtworks.xstream.converters.MarshallingContext; +import com.thoughtworks.xstream.converters.SingleValueConverter; +import com.thoughtworks.xstream.converters.UnmarshallingContext; +import com.thoughtworks.xstream.io.HierarchicalStreamReader; +import com.thoughtworks.xstream.io.HierarchicalStreamWriter; +/** + * + * @author Adrien Hadoux + * + */ +public class CrueDaoStructuresFormatETU { + + public void initXmlParserForETU(XStream xstream ){ + //-- creation des alias pour que ce soit + parlant dans le xml file --// + xstream.alias(CrueDaoFactoryCommom.ETU, CrueDaoPersistDCSP.class); + //-- liste des initialisations n\xE9cessaires pour le formattage des donn\xE9es--// + initXmlParserForScenario(xstream); + initXmlParserForRepertoires(xstream); + initXmlParserForFichiers(xstream); + initXmlParserForSousModele(xstream); + initXmlParserForModele(xstream); + initXmlParserForReference(xstream); + initXmlParserForRun(xstream); + } + + public void initXmlParserForScenario(XStream xstream ){ + xstream.alias("ScenarioCourant", ScenarioCourant.class); + xstream.useAttributeFor(ScenarioCourant.class, "NomRef"); + xstream.registerConverter(new ScenarioCourantConverter()); + + xstream.alias("Scenario", Scenario.class); + xstream.useAttributeFor(Scenario.class, "Nom"); + xstream.registerConverter(new ScenarioConverter()); + + + + } + public void initXmlParserForRepertoires(XStream xstream ){ + xstream.alias("Repertoire", Repertoire.class); + xstream.useAttributeFor(Repertoire.class, "Nom"); + xstream.registerConverter(new RepertoireConverter()); + } + public void initXmlParserForFichiers(XStream xstream ){ + + /** + * 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()); + } + + public void initXmlParserForSousModele(XStream xstream ){ + // --Ce fonctionnement ne peut etre ok que dans le cas de la lecture seule. --// + xstream.alias("SousModele", SousModele.class); + xstream.useAttributeFor(SousModele.class, "Nom"); + //xstream.registerConverter(new ReferenceFichierConverter()); + //--Ce fonctionnement ne peut etre ok que dans le cas de la lecture seule.--// + //xstream.alias("Fichier", ReferenceFichier.class); + + + + } + + public void initXmlParserForModele(XStream xstream ){ + // --Ce fonctionnement ne peut etre ok que dans le cas de la lecture seule. --// + xstream.alias("Modele", Modele.class); + xstream.useAttributeFor(Modele.class, "Nom"); + xstream.registerConverter(new ModeleConverter()); + //xstream.registerConverter(new ReferenceFichierConverter()); + //--Ce fonctionnement ne peut etre ok que dans le cas de la lecture seule.--// + //xstream.alias("Fichier", ReferenceFichier.class); + + + + } + + public void initXmlParserForReference(XStream xstream){ + xstream.useAttributeFor(Ref.class, "NomRef"); + xstream.registerConverter(new RefConverter()); + + //-- la reference est utilisee pour toutes ces balises --// + //-- dans la les balsies <FichEtudes> --// + xstream.alias("Fichier", Ref.class); + //-- dans la balise <Modele> --// + xstream.alias("SousModele-ref", Ref.class); + //-- dans la balise <Scenario> --// + xstream.alias("Modele-ref", Ref.class); + //-- dans la balise <Scenario> --// + xstream.alias("RunCourant", Ref.class); + } + + + public void initXmlParserForRun(XStream xstream){ + xstream.alias("Run", Run.class); + xstream.useAttributeFor(Run.class, "Nom"); + xstream.registerConverter(new RunConverter()); + xstream.alias("FichRuns", FichRuns.class); + + //-- gestion des modeles du run --// + xstream.alias("Modele-run",ModeleRun.class); + xstream.useAttributeFor(ModeleRun.class, "NomRef"); + xstream.registerConverter(new ModeleRunConverter()); + 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.useAttributeFor(FichierResultat.class, "Nom"); + xstream.registerConverter(new FichierResultatConverter()); + + } + + +//-------------------------------------- SCENARIO --------------------------------------// + + public static class ScenarioCourant{ + String NomRef; + } + public static class ScenarioCourantConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((ScenarioCourant) obj).NomRef; } + public Object fromString(String name){ + ScenarioCourant pf=new ScenarioCourant(); + pf.NomRef=name; + return pf; + } + public boolean canConvert(Class type) { + return type.isInstance(ScenarioCourant.class); + }} + + + + public static class Scenario{ + public String Nom; + public String Type; + public String VersionCrue; + public String Commentaire; + public String Creation; + public String DerniereModif; + public String DateCreation; + public List<Ref> FichEtudes; + public List<Ref> Modeles; + public List<Run> Runs; + public Ref RunCourant; + + } + + public static class ScenarioConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((Scenario) obj).Nom; } + public Object fromString(String name){ + Scenario pf=new Scenario(); + pf.Nom=name; + return pf; + } + public boolean canConvert(Class type) { + return type.isInstance(Scenario.class); + }} + //-------------------------------------- Repertoires --------------------------------------// + public static class Repertoire{ + public String Nom; + public String path; + } + public static class RepertoireConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((Repertoire) obj).Nom; } + public Object fromString(String name){ + Repertoire pf=new Repertoire(); + pf.Nom=name; + return pf; + } + public boolean canConvert(Class type) { + return type.isInstance(Repertoire.class); + }} + + + //-------------------------------------- TYPE FICHIER --------------------------------------// + /** + * classe abstraite qui gere tous les differents fichiers disponibles. + * @author Adrien Hadoux + * + */ + public static class TypeFichierDispo{ + public String Nom; + public String Chemin; + /** + * Type du fichier: DRSO,DCSP.... + * est lu au chargement du fichier masi pas \xE0 l'\xE9criture. + */ + private String type=null; + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + } + +// public static class ReferenceFichier{ +// public String NomRef; +// } +// public static class ReferenceFichierConverter implements SingleValueConverter { +// public String toString(Object obj) { +// return ((ReferenceFichier) obj).NomRef; } +// public Object fromString(String name){ +// ReferenceFichier pf=new ReferenceFichier(); +// pf.NomRef=name; +// return pf; +// } +// @Override +// public boolean canConvert(Class type) { +// // TODO Auto-generated method stub +// return type.isInstance(ReferenceFichier.class); +// } +// +// } + + + /** + * Converter pour la classe \xE0 2 attributs. + * Pour les types fichiers mais \xE9galement les references + * @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); +// } + + // 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; +// } + return null; + } + + public boolean canConvert(Class type){ + return type.isInstance(TypeFichierDispo.class)/*|| type.isInstance(ReferenceFichier.class)*/; + } + + } + + //-------------------------------------- SousModele --------------------------------------// + public static class SousModele{ + public String Nom; + public String Type; + public String Commentaire; + public String Creation; + 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; } + public Object fromString(String name){ + SousModele pf=new SousModele(); + pf.Nom=name; + return pf; + } + public boolean canConvert(Class type) { + return type.isInstance(SousModele.class); + }} + + +// public static class ReferenceFichierConverter implements SingleValueConverter { +// public String toString(Object obj) { +// return ((ReferenceFichier) obj).NomRef; } +// public Object fromString(String name){ +// ReferenceFichier pf=new ReferenceFichier(); +// pf.NomRef=name; +// return pf; +// } +// public boolean canConvert(Class type) { +// return type.isInstance(ReferenceFichier.class); +// }} + + + //-------------------------------------- SousModele --------------------------------------// + public static class Ref{ + public String NomRef; + + + } + + public static class RefConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((Ref) obj).NomRef; } + public Object fromString(String name){ + Ref pf=new Ref(); + pf.NomRef=name; + return pf; + } + public boolean canConvert(Class type) { + return type.isInstance(Ref.class); + }} + + + public static class Modele{ + public String Nom; + public String Type; + public String Commentaire; + public String Creation; + public String DerniereModif; + public String DateCreation; + public List<Ref> FichEtudes; + public List<Ref> SousModeles; + + } + + public static class ModeleConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((Modele) obj).Nom; } + public Object fromString(String name){ + Modele pf=new Modele(); + pf.Nom=name; + return pf; + } + public boolean canConvert(Class type) { + return type.isInstance(Modele.class); + }} + + + //-------------------------------------- RUNS --------------------------------------// + + public static class Run{ + public String Nom; + public String Commentaire; + public FichRuns FichRuns; + } + + public static class RunConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((Run) obj).Nom; } + public Object fromString(String name){ + Run pf=new Run(); + pf.Nom=name; + return pf; + } + public boolean canConvert(Class type) { + return type.isInstance(Run.class); + }} + + + public static class FichRuns{ + public List<ModeleRun> Modeles; + } + + public static class ModeleRun{ + public String NomRef; + public List<FichierResultat> fichiersRes; + + + } + + public static class ModeleRunConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((ModeleRun) obj).NomRef; } + public Object fromString(String name){ + ModeleRun pf=new ModeleRun(); + pf.NomRef=name; + return pf; + } + public boolean canConvert(Class type) { + return type.isInstance(ModeleRun.class); + }} + + + public static class FichierResultat{ + public String Nom; + } + + public static class FichierResultatConverter implements SingleValueConverter { + public String toString(Object obj) { + return ((FichierResultat) obj).Nom; } + public Object fromString(String name){ + FichierResultat pf=new FichierResultat(); + pf.Nom=name; + return pf; + } + public boolean canConvert(Class type) { + return type.isInstance(FichierResultat.class); + }} + +} Added: 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 (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/dao/validatorXML/valideETU.xsd 2009-03-17 18:50:18 UTC (rev 4554) @@ -0,0 +1,227 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> + + +<!-- TYPE ScenarioCourant --> + +<xs:complexType name="ScenarioCourant"> + <xs:attribute name="NomRef" type="xs:string"/> +</xs:complexType> + + +<!-- TYPE Repertoires --> + +<xs:complexType name="Repertoire"> + <xs:sequence> + <xs:element name="path" type="xs:string" /> + </xs:sequence> + <xs:attribute name="Nom" type="xs:string"/> +</xs:complexType> + +<xs:complexType name="Repertoires"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="Repertoire" type="Repertoire" /> + </xs:choice> +</xs:complexType> + +<!-- Fichier ETUDES --> +<xs:complexType name="TypeFichier"> + <xs:attribute name="Nom" type="xs:string"/> + <xs:attribute name="Chemin" type="xs:string"/> +</xs:complexType> + +<xs:complexType name="FichEtudes"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="ORES" type="TypeFichier" /> + <xs:element name="PCAL" type="TypeFichier" /> + <xs:element name="DCLM" type="TypeFichier" /> + <xs:element name="DLHY" type="TypeFichier" /> + <xs:element name="OPTR" type="TypeFichier" /> + <xs:element name="OPTG" type="TypeFichier" /> + <xs:element name="OPTI" type="TypeFichier" /> + <xs:element name="PNUM" type="TypeFichier" /> + <xs:element name="DPTI" type="TypeFichier" /> + <xs:element name="DRSO" type="TypeFichier" /> + <xs:element name="DCSP" type="TypeFichier" /> + <xs:element name="DPTG" type="TypeFichier" /> + <xs:element name="DFRT" type="TypeFichier" /> + <xs:element name="DC" type="TypeFichier" /> + <xs:element name="DH" type="TypeFichier" /> + </xs:choice> +</xs:complexType> + + + +<!-- Sous modeles --> + +<xs:complexType name="SousModele"> + <xs:sequence> + <xs:element name="Type" type="xs:string" /> + <xs:element name="Commentaire" type="xs:string" /> + <xs:element name="Creation" type="xs:string" /> + <xs:element name="DateCreation" type="xs:string" /> + <xs:element name="DerniereModif" type="xs:string" /> + <xs:element name="DateDerniereModif" type="xs:string" /> + <xs:element name="FichEtudes" type="ListeReferencesFichier" /> + </xs:sequence> + <xs:attribute name="Nom" type="xs:string"/> +</xs:complexType> + + + + +<xs:complexType name="SousModeles"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="SousModele" type="SousModele" /> + </xs:choice> +</xs:complexType> + + +<!-- MODELES --> +<xs:complexType name=" Modele"> + + <xs:sequence> + <xs:element name="Type" type="xs:string" /> + <xs:element name="Commentaire" type="xs:string" /> + <xs:element name="Creation" type="xs:string" /> + <xs:element name="DateCreation" type="xs:string" /> + <xs:element name="DerniereModif" type="xs:string" /> + <xs:element name="DateDerniereModif" type="xs:string" /> + <xs:element name="FichEtudes" type="ListeReferencesFichier" /> + <xs:element name="SousModeles" type="ListeReferencesSousModele" /> + </xs:sequence> + <xs:attribute name="Nom" type="xs:string"/> +</xs:complexType> + + + + + +<xs:complexType name="Modeles"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="Modele" type="Modele" /> + </xs:choice> +</xs:complexType> + +<!-- Scenarios --> + +<xs:complexType name="Scenarios"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="Scenario" type="Scenario" /> + </xs:choice> +</xs:complexType> + + +<xs:complexType name=" Scenario"> + + <xs:sequence> + <xs:element name="Type" type="xs:string" /> + <xs:element name="VersionCrue" type="xs:string" /> + <xs:element name="Commentaire" type="xs:string" /> + <xs:element name="Creation" type="xs:string" /> + <xs:element name="DateCreation" type="xs:string" /> + <xs:element name="DerniereModif" type="xs:string" /> + <xs:element name="DateDerniereModif" type="xs:string" /> + <xs:element name="FichEtudes" type="ListeReferencesFichier" /> + <xs:element name="Modeles" type="ListeReferencesModele" /> + <xs:element name="Runs" type="Runs" /> + <xs:element name="RunCourant" type="Reference" /> + + </xs:sequence> + <xs:attribute name="Nom" type="xs:string"/> +</xs:complexType> + + + +<!-- RUNS --> + <xs:complexType name="Runs"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="Run" type="Run" /> + </xs:choice> +</xs:complexType> + +<xs:complexType name=" Run"> + <xs:sequence> + <xs:element name="Commentaire" type="xs:string" /> + <xs:element name="FichRuns" type="FichRuns" /> + </xs:sequence> + <xs:attribute name="Nom" type="xs:string"/> +</xs:complexType> + + + <xs:complexType name="FichRuns"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="Modeles" type="ModelesRuns" /> + </xs:choice> +</xs:complexType> + + <xs:complexType name="ModelesRuns"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="Modele-run" type="ModeleRun" /> + </xs:choice> +</xs:complexType> + +<xs:complexType name=" ModeleRun"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="RPTG" type="ModeleResultat" /> + <xs:element name="RPTI" type="ModeleResultat" /> + <xs:element name="RCAL" type="ModeleResultat" /> + <xs:element name="RPTG" type="ModeleResultat" /> + </xs:choice> + <xs:attribute name="Nom" type="xs:string"/> +</xs:complexType> + + + + +<xs:complexType name="ModeleResultat"> + <xs:attribute name="Nom" type="xs:string"/> +</xs:complexType> + + + +<!-- REFERENCE --> + +<xs:complexType name="Reference"> + <xs:attribute name="NomRef" type="xs:string"/> +</xs:complexType> + + +<xs:complexType name="ListeReferencesFichier"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="Fichier" type="Reference" /> + </xs:choice> +</xs:complexType> + +<xs:complexType name="ListeReferencesSousModele"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="SousModele-ref" type="Reference" /> + </xs:choice> +</xs:complexType> + + +<xs:complexType name="ListeReferencesModele"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="Modele-ref" type="Reference" /> + </xs:choice> +</xs:complexType> + +<!-- FICHIER ETU --> + <xs:element name="ETU"> + <xs:complexType> + <xs:sequence> + <xs:element name="Creation" type="xs:string" /> + <xs:element name="DateCreation" type="xs:string" /> + <xs:element name="AuteurDerniereModif" type="xs:string" /> + <xs:element name="DateDerniereModif" type="xs:string" /> + <xs:element name="ScenarioCourant" type="ScenarioCourant" /> + <xs:element name="Repertoires" type="Repertoires" /> + <xs:element name="FichEtudes" type="FichEtudes" /> + <xs:element name="SousModeles" type="SousModeles" /> + <xs:element name="Modeles" type="Modeles" /> + <xs:element name="Rapports" type="xs:string" /> + <xs:element name="Scenarios" type="Scenarios" /> + </xs:sequence> + </xs:complexType> + </xs:element> +</xs:schema> \ No newline at end of file Modified: 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/EMHModeleBase.java 2009-03-17 18:48:26 UTC (rev 4553) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHModeleBase.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -1,4 +1,7 @@ package main.java.org.fudaa.dodico.crue.metier; + +import java.util.List; + /** * Entit\xE9 correspondant \xE0 la port\xE9e d'un calcul * @author Adrien Hadoux @@ -6,7 +9,12 @@ */ public class EMHModeleBase { + /** + * La liste des sous modeles associ\xE9s au modele. ETU + */ + List<EMHModeleBase> listeSousModeles; + public EMHModeleBase(){ } Added: 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/EMHProjectInfos.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHProjectInfos.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -0,0 +1,114 @@ +package main.java.org.fudaa.dodico.crue.metier; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * Infos relatives au projet et la base de fichiers disponible pour tout le projet. . + * @author Adrien Hadoux + * + */ +public class EMHProjectInfos { + + + protected String versionCrue_; + protected String creation_; + protected String commentaire_; + protected String dateCreation_; + protected String auteurDerniereModif_; + protected String dateDerniereModif_; + + /** + * Contient l'ensemble des fichiers du projet qui seront utilis\xE9s pour r\xE9aliser les chargements des projets. + */ + protected List<FichierCrue> baseFichiersProjets; + + /** + * D\xE9finit les r\xE9pertoires dans lesquels se situent les projets. + * Utilise pour les key, les string static d\xE9clar\xE9es plus bas. + * la value indique le chemin absolu vers le repertoire. + */ + protected Map<String,String> directories; + + /** + * Emplacements des fichiers d'\xE9tudes + */ + public static String FICHETUDES="FICHETUDES"; + /** + * Emplacement des runs + */ + public static String RUNS="RUNS"; + /** + * Emplacemet des rapports + */ + public static String RAPPORTS="RAPPORTS"; + + + + + public List<FichierCrue> getBaseFichiersProjets() { + return baseFichiersProjets; + } + public void setBaseFichiersProjets(List<FichierCrue> listFileAvailable) { + this.baseFichiersProjets = listFileAvailable; + } + public String getCreation() { + return creation_; + } + public void setCreation(String creation) { + creation_ = creation; + } + public String getDateCreation() { + return dateCreation_; + } + public void setDateCreation(String dateCreation) { + dateCreation_ = dateCreation; + } + public String getAuteurDerniereModif() { + return auteurDerniereModif_; + } + public void setAuteurDerniereModif(String auteurDerniereModif) { + auteurDerniereModif_ = auteurDerniereModif; + } + public String getDateDerniereModif() { + return dateDerniereModif_; + } + public void setDateDerniereModif(String dateDerniereModif) { + dateDerniereModif_ = dateDerniereModif; + } + public String getCommentaire() { + return commentaire_; + } + public void setCommentaire(String commentaire) { + this.commentaire_ = commentaire; + } + public String getVersionCrue() { + return versionCrue_; + } + public void setVersionCrue(String versionCrue) { + this.versionCrue_ = versionCrue; + } + + + /** + * Ajoute un fichier a la base de fichier Crue disponibles pour le projet. + * @param file + * @return + */ + public boolean addCrueFileToProject(FichierCrue file){ + if(baseFichiersProjets==null) + baseFichiersProjets=new ArrayList<FichierCrue>(); + if( file !=null && FichierCrue.findById(file.getId(), baseFichiersProjets)==null){ + return baseFichiersProjets.add(file); + } + return false; + } + public Map<String, String> getDirectories() { + return directories; + } + public void setDirectories(Map<String, String> directories) { + this.directories = directories; + } + +} Added: 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/EMHproject.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -0,0 +1,74 @@ +package main.java.org.fudaa.dodico.crue.metier; + +import java.util.List; + +/** + * Gere un projet EMH. + * Est construit a partir du fichier XML ETU. + * @author Adrien Hadoux + * + */ +public class EMHproject { + + /** + * Infos du projet + */ + EMHProjectInfos infos_; + + + + + /** + * Liste de projets du fichier ETU. + */ + List<EMHScenario> listeScenarios_; + + /** + * Liste des mod\xE8les ETU. + */ + EMHModeleEnchainement listeModeles_; + + /** + * Liste totale des sous mod\xE8les ETU. + */ + EMHModeleEnchainement listeSousModeles_; + + + + + + public EMHProjectInfos getInfos() { + return infos_; + } + + public void setInfos(EMHProjectInfos _infos) { + this.infos_ = _infos; + } + + public List<EMHScenario> getListeScenarios() { + return listeScenarios_; + } + + public void setListeScenarios(List<EMHScenario> listeScenarios) { + this.listeScenarios_ = listeScenarios; + } + + public EMHModeleEnchainement getListeModeles() { + return listeModeles_; + } + + public void setListeModeles(EMHModeleEnchainement listeModeles) { + this.listeModeles_ = listeModeles; + } + + public EMHModeleEnchainement getListeSousModeles() { + return listeSousModeles_; + } + + public void setListeSousModeles(EMHModeleEnchainement listeSousModeles) { + this.listeSousModeles_ = listeSousModeles; + } + + + +} Added: 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/FichierCrue.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java 2009-03-17 18:50:18 UTC (rev 4554) @@ -0,0 +1,96 @@ +package main.java.org.fudaa.dodico.crue.metier; + +import java.io.File; +import java.util.List; + +/** + * Gere les fichiers Crue d\xE9finis dans le fichier xml ETU. + * un fichier est d\xE9fini par: + * son id unique + * son type + * le chemin vers ce fichier. + * Sert de base de recherche pour lancer \xE0 la demande les diff\xE9rents sc\xE9narios. + * @author Adrien Hadoux + * + */ +public class FichierCrue { + + public FichierCrue(String id, String path, String type) { + super(); + this.id_ = id; + this.path_ = path; + this.type_ = type; + } + + + private String id_; + /** + * le type du fichier. Tous les types sont dispo via la classe CrueDaoFactorxCommom. + */ + String type_; + + String path_; + + + /** + * Retourne le fichier qui contient les infos. + * @return + */ + public File getFichier(){ + if(path_!=null){ + File fichier=new File(path_); + if(fichier.exists()) + return fichier; + } + return null; + } + + + /** + * Retrouve le bon fichier par sa reference. + * @param nomRef + * @param listeFiles + * @return + */ + public static FichierCrue findById(String nomRef, List<FichierCrue> listeFiles){ + if(listeFiles!=null) + for(FichierCrue f:listeFiles){ + if(f.id_.equals(nomRef)) + return f; + } + return null; + } + + + public String getId() { + return id_; + } + + + public void setId(String id) { + this.id_ = id; + } + + + public String getType() { + return type_; + } + + + public void setType(String type) { + this.type_ = type; + } + + + public String getPath() { + return path_; + } + + + public void setPath(String path) { + this.path_ = path; + } + + + +} 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] |
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-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. |