From: <de...@us...> - 2009-06-28 22:19:50
|
Revision: 4892 http://fudaa.svn.sourceforge.net/fudaa/?rev=4892&view=rev Author: deniger Date: 2009-06-28 22:19:41 +0000 (Sun, 28 Jun 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueErrorManager.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DCFileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DHFileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FCBFileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FileFormatFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STOFileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STRFileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileType.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHModeleBase.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHScenario.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue10.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ScenarioWriter.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateConnectionModele.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidateModeleScenario.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/projet/projetMessages.properties trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueETUFile.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/TestCrueValidationModele.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/validation/TestValidateModeleScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueEditorImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoaderUI.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleGenerationCrue9.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue9.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue10.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver10.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java Removed Paths: ------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/io/MockCrueData.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueErrorManager.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueErrorManager.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/common/CrueErrorManager.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -14,8 +14,26 @@ */ public class CrueErrorManager { - List<CtuluAnalyze> analyser = new ArrayList<CtuluAnalyze>(); + private List<CtuluAnalyze> analyser = new ArrayList<CtuluAnalyze>(); + private CtuluAnalyze mainAnalyze; + /** + * @return the mainAnalyze + */ + public CtuluAnalyze getMainAnalyze() { + if (mainAnalyze == null) { + mainAnalyze = getNewAnalyser(); + } + return mainAnalyze; + } + + /** + * @param mainAnalyze the mainAnalyze to set + */ + public void setMainAnalyze(CtuluAnalyze mainAnalyze) { + this.mainAnalyze = mainAnalyze; + } + ResourceBundle defaultResource; public CrueErrorManager(ResourceBundle defaultResource) { @@ -36,13 +54,18 @@ * @return */ public CtuluAnalyze getNewAnalyser() { - CtuluAnalyze analyzer = new CtuluAnalyze(); - analyzer.setDefaultResourceBundle(defaultResource); + CtuluAnalyze analyzer = createAnalyzer(); // ajout dans la liste des analyze analyser.add(analyzer); return analyzer; } + private CtuluAnalyze createAnalyzer() { + CtuluAnalyze analyzer = new CtuluAnalyze(); + analyzer.setDefaultResourceBundle(defaultResource); + return analyzer; + } + /** * retourne le dernier ctuluanalyze cree. * Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -7,10 +7,12 @@ import java.io.File; import java.io.OutputStream; import java.net.URL; +import java.util.Map; import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluIOOperationSynthese; import org.fudaa.dodico.crue.io.common.CrueData; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.common.CrueIOResu; import org.fudaa.dodico.crue.io.dao.CrueHelper; import org.fudaa.dodico.crue.io.neuf.AbstractCrue9Reader; @@ -21,15 +23,20 @@ */ public abstract class AbstractCrue9FileFormat extends CustomFileFormatUnique<CrueIOResu<CrueData>> { + private final CrueFileType fileType; + /** * @param id identifiant du format */ - public AbstractCrue9FileFormat(final String id) { + public AbstractCrue9FileFormat(final CrueFileType id, Map<CrueFileType, AbstractCrue9FileFormat> map) { super(1); - nom = id; + this.fileType = id; + nom = id.toString(); this.id = nom; - extensions = new String[] { id.toLowerCase() }; + extensions = new String[] { nom.toLowerCase() }; description = nom + ".file"; + map.put(id, this); + } /** Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -11,6 +11,7 @@ import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluIOOperationSynthese; import org.fudaa.dodico.crue.io.common.CrueData; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.common.CrueIOResu; import org.fudaa.dodico.crue.io.dao.CrueHelper; import org.fudaa.dodico.crue.io.neuf.AbstractCrueBinaryReader; @@ -23,15 +24,17 @@ * @param <M> Objet qui permet de stocker les informations lues dans le fichier binaire */ public abstract class AbstractCrueBinaryFileFormat<M> extends CustomFileFormatUnique<CrueIOResu<M>> { + private final CrueFileType type; /** * @param id identifiant du format */ - public AbstractCrueBinaryFileFormat(final String id) { + public AbstractCrueBinaryFileFormat(final CrueFileType id) { super(1); - nom = id; + this.type = id; + nom = id.toString(); this.id = nom; - extensions = new String[] { id.toLowerCase() }; + extensions = new String[] { nom.toLowerCase() }; description = nom + ".file"; } @@ -40,6 +43,14 @@ */ protected abstract AbstractCrueBinaryReader<M> createReader(); + /** + * @return the type + */ + @Override + public CrueFileType getType() { + return type; + } + public CrueIOResu<M> read(final File f, final CtuluAnalyze analyzer, final CrueData dataLinked) { final AbstractCrueBinaryReader reader = createReader(); reader.setDataLinked(dataLinked); @@ -79,15 +90,15 @@ throw new IllegalArgumentException("Not supported"); } - public boolean writeMetier(CrueIOResu<M> metier, File f, CtuluAnalyze analyzer) { + public boolean write(CrueData metier, File f, CtuluAnalyze analyzer) { throw new IllegalArgumentException("Not supported"); } - public boolean write(CrueData metier, File f, CtuluAnalyze analyzer) { + public boolean write(CrueData metier, OutputStream out, CtuluAnalyze analyser) { throw new IllegalArgumentException("Not supported"); } - public boolean write(CrueData metier, OutputStream out, CtuluAnalyze analyser) { + public boolean writeMetier(CrueIOResu<M> metier, File f, CtuluAnalyze analyzer) { throw new IllegalArgumentException("Not supported"); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -7,7 +7,7 @@ import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.dao.*; -import org.fudaa.dodico.crue.metier.EMHproject; +import org.fudaa.dodico.crue.metier.EMHProjet; import org.fudaa.dodico.crue.metier.emh.*; /** @@ -43,8 +43,8 @@ new CrueXmlReaderWriterImpl<CrueDaoDRSO, CrueData>(CrueFileType.DRSO, new CrueConverterDRSO(), new CrueDaoStructureDRSO()), fnts); - private final Crue10FileFormat<EMHproject> etu = new Crue10FileFormat<EMHproject>( - new CrueXmlReaderWriterImpl<CrueDaoETU, EMHproject>(CrueFileType.ETU, new CrueConverterETU(), + private final Crue10FileFormat<EMHProjet> etu = new Crue10FileFormat<EMHProjet>( + new CrueXmlReaderWriterImpl<CrueDaoETU, EMHProjet>(CrueFileType.ETU, new CrueConverterETU(), new CrueDaoStructureETU()), fnts); private final Crue10FileFormat<OrdPrtGeoModeleBase> optg = new Crue10FileFormat<OrdPrtGeoModeleBase>( @@ -157,7 +157,7 @@ /** * @return ETU : objet CrueFileFormat qui contient le DAO et le métier de ETU */ - public Crue10FileFormat<EMHproject> getETU() { + public Crue10FileFormat<EMHProjet> getETU() { return etu; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DCFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DCFileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DCFileFormat.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -1,5 +1,8 @@ package org.fudaa.dodico.crue.io; +import java.util.Map; + +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.neuf.DCFileReader; import org.fudaa.dodico.crue.io.neuf.DCFileWriter; @@ -13,8 +16,8 @@ /** * déclare seulement l'extension */ - public Crue9DCFileFormat() { - super("DC"); + public Crue9DCFileFormat(Map<CrueFileType, AbstractCrue9FileFormat> map) { + super(CrueFileType.DC, map); } @Override Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DHFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DHFileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9DHFileFormat.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -1,5 +1,8 @@ package org.fudaa.dodico.crue.io; +import java.util.Map; + +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.neuf.DHReader; import org.fudaa.dodico.crue.io.neuf.DHWriter; @@ -13,8 +16,8 @@ /** * Constructeur qui précise l'extension autorisée pour ce type de fichier */ - public Crue9DHFileFormat() { - super("DH"); + public Crue9DHFileFormat(Map<CrueFileType, AbstractCrue9FileFormat> map) { + super(CrueFileType.DH, map); } @Override Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FCBFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FCBFileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FCBFileFormat.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -1,5 +1,6 @@ package org.fudaa.dodico.crue.io; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.neuf.AbstractCrueBinaryReader; import org.fudaa.dodico.crue.io.neuf.FCBReader; import org.fudaa.dodico.crue.io.neuf.FCBSequentialReader; @@ -15,7 +16,7 @@ * Constructeur qui précise l'extension autorisée pour ce type de fichier */ public Crue9FCBFileFormat() { - super("FCB"); + super(CrueFileType.FCB); } @Override Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FileFormatFactory.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FileFormatFactory.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9FileFormatFactory.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -1,5 +1,10 @@ package org.fudaa.dodico.crue.io; +import java.util.HashMap; +import java.util.Map; + +import org.fudaa.dodico.crue.io.common.CrueFileType; + /** * Gere la lecture du format crue 9. * @@ -7,12 +12,13 @@ */ public final class Crue9FileFormatFactory { - // private Crue9FileFormatFactory() { - // - // } + /** + * la map contenant les correspondance + */ + private static final Map<CrueFileType, AbstractCrue9FileFormat> MAP = new HashMap<CrueFileType, AbstractCrue9FileFormat>(); - private static final Crue9DCFileFormat DC_FILEFORMAT = new Crue9DCFileFormat(); - private static final Crue9DHFileFormat DH_FILEFORMAT = new Crue9DHFileFormat(); + private static final Crue9DCFileFormat DC_FILEFORMAT = new Crue9DCFileFormat(MAP); + private static final Crue9DHFileFormat DH_FILEFORMAT = new Crue9DHFileFormat(MAP); private static final Crue9FCBFileFormat FCB_FILEFORMAT = new Crue9FCBFileFormat(); private static final Crue9STOFileFormat STO_FILEFORMAT = new Crue9STOFileFormat(); private static final Crue9STRFileFormat STR_FILEFORMAT = new Crue9STRFileFormat(); @@ -25,6 +31,14 @@ } /** + * @param type le type demande + * @return le format correspondant + */ + public static AbstractCrue9FileFormat getFileFormat(CrueFileType type) { + return MAP.get(type); + } + + /** * @return the DH */ public static Crue9DHFileFormat getDHFileFormat() { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STOFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STOFileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STOFileFormat.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -3,6 +3,7 @@ */ package org.fudaa.dodico.crue.io; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.neuf.AbstractCrueBinaryReader; import org.fudaa.dodico.crue.io.neuf.STOReader; import org.fudaa.dodico.crue.io.neuf.STOSequentialReader; @@ -16,7 +17,7 @@ * Constructeur qui précise l'extension autorisée pour ce type de fichier */ public Crue9STOFileFormat() { - super("STO"); + super(CrueFileType.STO); } @Override Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STRFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STRFileFormat.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue9STRFileFormat.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -3,6 +3,7 @@ */ package org.fudaa.dodico.crue.io; +import org.fudaa.dodico.crue.io.common.CrueFileType; import org.fudaa.dodico.crue.io.neuf.AbstractCrueBinaryReader; import org.fudaa.dodico.crue.io.neuf.STRReader; import org.fudaa.dodico.crue.io.neuf.STRSequentialReader; @@ -16,7 +17,7 @@ * Constructeur qui précise l'extension autorisée pour ce type de fichier */ public Crue9STRFileFormat() { - super("STR"); + super(CrueFileType.STR); } @Override Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileType.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileType.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/common/CrueFileType.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -9,6 +9,6 @@ */ public enum CrueFileType { - ETU, DRSO, ORES, OCAL, PCAL, DCLM, DLHY, OPTR, OPTG, OPTI, PNUM, DPTI, DCSP, DPTG, DFRT, DC, DH, RPTR, RPTG, RPTI, RCAL + ETU, DRSO, ORES, OCAL, PCAL, DCLM, DLHY, OPTR, OPTG, OPTI, PNUM, DPTI, DCSP, DPTG, DFRT, DC, DH, RPTR, RPTG, RPTI, RCAL, FCB, STO, STR } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/dao/CrueConverterETU.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -19,17 +19,17 @@ * * @author Adrien Hadoux */ -public class CrueConverterETU implements CrueConverter<CrueDaoETU, EMHproject> { +public class CrueConverterETU implements CrueConverter<CrueDaoETU, EMHProjet> { - public EMHproject convertDaoToMetier(final CrueDaoETU dao, final CrueData dataLinked, final CtuluAnalyze analyser) { + public EMHProjet convertDaoToMetier(final CrueDaoETU dao, final CrueData dataLinked, final CtuluAnalyze analyser) { return CrueConverterETU.remplirMetierETU(dao, analyser); } - public EMHproject getConverterData(CrueData in) { + public EMHProjet getConverterData(CrueData in) { return null; } - public CrueDaoETU convertMetierToDao(final EMHproject metier, final CtuluAnalyze analyser) { + public CrueDaoETU convertMetierToDao(final EMHProjet metier, final CtuluAnalyze analyser) { return null; } @@ -40,9 +40,9 @@ * @param analyser * @return */ - public static EMHproject remplirMetierETU(final CrueDaoETU persistance, final CtuluAnalyze analyser) { + public static EMHProjet remplirMetierETU(final CrueDaoETU persistance, final CtuluAnalyze analyser) { - final EMHproject project = new EMHproject(); + final EMHProjet project = new EMHProjet(); final EMHProjectInfos infos = new EMHProjectInfos(); @@ -86,7 +86,7 @@ * @param listeMessageError * @return */ - private static void remplirBaseScenarios(final EMHproject project, final List<Scenario> listePersist, + private static void remplirBaseScenarios(final EMHProjet project, final List<Scenario> listePersist, final EMHProjectInfos infos, final CtuluAnalyze analyser) { if (CollectionUtils.isEmpty(listePersist)) { @@ -222,7 +222,7 @@ * @param listeMessageError * @return */ - public static void remplirBaseSousModeles(final EMHproject dest, final List<SousModele> listePersist, + public static void remplirBaseSousModeles(final EMHProjet dest, final List<SousModele> listePersist, final EMHProjectInfos infos, final CtuluAnalyze analyser) { if (CollectionUtils.isNotEmpty(listePersist)) { @@ -260,7 +260,7 @@ * @param listeMessageError * @return */ - private static void remplirBaseModeles(final EMHproject project, final List<Modele> listePersist, + private static void remplirBaseModeles(final EMHProjet project, final List<Modele> listePersist, final EMHProjectInfos infos, final CtuluAnalyze analyser) { if (listePersist != null) { Copied: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java (from rev 4891, trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java) =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHProjet.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -0,0 +1,232 @@ +package org.fudaa.dodico.crue.metier; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Gere un projet EMH. Est construit a partir du fichier XML ETU. + * + * @author Adrien Hadoux + */ +public class EMHProjet { + + private final static Logger LOGGER = LoggerFactory.getLogger(EMHProjet.class); + + /** + * Infos du projet, contient la base des fichiers de donn�es. + */ + private EMHProjectInfos baseRessourcesInfos_; + + /** + * Base des sc�narios disponible pour tout le projet. + */ + private final List<ManagerEMHScenario> baseScenarios = new ArrayList<ManagerEMHScenario>(); + private final Map<String, ManagerEMHModeleBase> idModele = new HashMap<String, ManagerEMHModeleBase>(); + + private final Map<String, ManagerEMHScenario> idScenario = new HashMap<String, ManagerEMHScenario>(); + + private final Map<String, ManagerEMHSousModele> idSousModele = new HashMap<String, ManagerEMHSousModele>(); + + private final List<ManagerEMHModeleBase> listeModele = new ArrayList<ManagerEMHModeleBase>(); + + private final List<ManagerEMHSousModele> listeSousModele = new ArrayList<ManagerEMHSousModele>(); + + // /** + // * Methode tres importante; c'est elle qui retourne les crue data générales du scénario courant. En effet, ces crue + // * data sont globale au scenario, elles contiennet donc la concaténation des crue data de chaque entité fille: + // * modeles, sous modeles. + // * + // * @author Adrien hadoux + // * @return + // */ + // public CrueData getCrueDataFromScenarioCourant() { + // if (getScenarioCourant() != null) { return CrueDataImpl.buildConcatFor(getScenarioCourant().getEMH()); } + // return null; + // } + + /** + * Scenario courant du projet. Attention peut etre null. + */ + private ManagerEMHScenario scenarioCourant; + + public void addBaseModele(final ManagerEMHModeleBase modele) { + this.listeModele.add(modele); + idModele.put(modele.getNom(), modele); + } + + public void addBaseSousModele(final ManagerEMHSousModele sousModele) { + this.listeSousModele.add(sousModele); + idSousModele.put(sousModele.getNom(), sousModele); + } + + public void addScenario(final ManagerEMHScenario scenario) { + this.idScenario.put(scenario.getNom(), scenario); + this.baseScenarios.add(scenario); + } + + public File getDirForRun(final ManagerEMHScenario sc, final EMHRun runCourant) { + File dir = new File(getInfos().getDirectories().get(EMHProjectInfos.RUNS), sc.getNom()); + dir = new File(dir, runCourant.getId()); + return dir; + } + + public File getDirForRunCourant() { + if (scenarioCourant != null && scenarioCourant.getRunCourant() != null) { return getDirForRun(scenarioCourant, + scenarioCourant.getRunCourant()); } + return null; + } + + private Map<String, URL> getEtudeFiles(final Map<String, FichierCrueParModele> allFileUsed) { + final Map<String, URL> res = new HashMap<String, URL>(); + try { + for (final Map.Entry<String, FichierCrueParModele> entry : allFileUsed.entrySet()) { + res.put(entry.getKey(), entry.getValue().getFichier().getProjetFichier(this).toURI().toURL()); + } + } catch (MalformedURLException e) { + LOGGER.error("getEtudeFiles", e); + } + return res; + } + + private Map<String, File> getFileEtudeFiles(final Map<String, FichierCrueParModele> allFileUsed) { + final Map<String, File> res = new HashMap<String, File>(); + for (final Map.Entry<String, FichierCrueParModele> entry : allFileUsed.entrySet()) { + res.put(entry.getKey(), entry.getValue().getFichier().getProjetFichier(this)); + } + return res; + } + + /** + * @return l'association idFichier->File pour les fichier d'etude + */ + public Map<String, URL> getFileEtudeScenario(final String id) { + final ManagerEMHScenario sc = getScenario(id); + if (sc == null) { return Collections.emptyMap(); } + return getEtudeFiles(sc.getAllFileUsed()); + } + + public Map<String, File> getFileFileEtudeScenario(final String id) { + final ManagerEMHScenario sc = getScenario(id); + if (sc == null) { return Collections.emptyMap(); } + return getFileEtudeFiles(sc.getAllFileUsed()); + } + + /** + * @param nom le nom du scenario + * @return l'association idFichier->File pour les fichier d'etude + */ + public Map<String, URL> getURLRunScenario(final String nom) { + final ManagerEMHScenario sc = getScenario(nom); + if (sc == null || sc.getRunCourant() == null) { return Collections.emptyMap(); } + return getRunFiles(sc.getAllFileUsed(), sc.getRunCourant()); + } + + /** + * @param nom le nom du scenario + * @return l'association idFichier->File pour les fichier d'etude + */ + public Map<String, File> getFileRunScenario(final String nom) { + final ManagerEMHScenario sc = getScenario(nom); + if (sc == null || sc.getRunCourant() == null) { return Collections.emptyMap(); } + return getRunFileFiles(sc.getAllFileUsed(), sc.getRunCourant()); + } + + /** + * @return l'association idFichier->File pour les fichier d'etude + */ + public Map<String, URL> getURLScenarioCourant() { + if (scenarioCourant == null || scenarioCourant.getRunCourant() == null) { return Collections.emptyMap(); } + return getRunFiles(scenarioCourant.getAllFileUsed(), scenarioCourant.getRunCourant()); + } + + /** + * @return l'association idFichier->File pour les fichier du run courant + */ + public Map<String, URL> getFilesEtudeScenarioCourant() { + if (scenarioCourant == null) { return Collections.emptyMap(); } + return getEtudeFiles(scenarioCourant.getAllFileUsed()); + } + + /** + * @return l'association pour les fichiers resultats du run courant + */ + public Map<String, URL> getFilesResultatForCurrentRun() { + final File dir = getDirForRunCourant(); + if (dir != null) { return scenarioCourant.getFilesResultatIn(dir); } + return null; + + } + + public EMHProjectInfos getInfos() { + return baseRessourcesInfos_; + } + + public List<ManagerEMHModeleBase> getListeModeles() { + return Collections.unmodifiableList(listeModele); + } + + public List<ManagerEMHScenario> getListeScenarios() { + return baseScenarios; + } + + public List<ManagerEMHSousModele> getListeSousModeles() { + return listeSousModele; + } + + public ManagerEMHModeleBase getModele(final String nom) { + return idModele.get(nom); + } + + private Map<String, URL> getRunFiles(final Map<String, FichierCrueParModele> allFileUsed, final EMHRun runCourant) { + final Map<String, URL> res = new HashMap<String, URL>(allFileUsed.size()); + final Map<String, File> file = getRunFileFiles(allFileUsed, runCourant); + for (Map.Entry<String, File> it : file.entrySet()) { + try { + res.put(it.getKey(), it.getValue().toURI().toURL()); + } catch (MalformedURLException e) { + LOGGER.error("getRunFiles", e); + } + } + return res; + } + + private Map<String, File> getRunFileFiles(final Map<String, FichierCrueParModele> allFileUsed, final EMHRun runCourant) { + final Map<String, File> res = new HashMap<String, File>(allFileUsed.size()); + final File dirOfRun = getDirForRunCourant(); + for (final Map.Entry<String, FichierCrueParModele> entry : allFileUsed.entrySet()) { + final File modeleDir = new File(dirOfRun, entry.getValue().getParent().getNom()); + res.put(entry.getKey(), new File(modeleDir, entry.getValue().getFichier().getId())); + } + return res; + } + + public ManagerEMHScenario getScenario(final String nom) { + return idScenario.get(nom); + } + + public ManagerEMHScenario getScenarioCourant() { + return scenarioCourant; + } + + public ManagerEMHSousModele getSousModele(final String nom) { + return idSousModele.get(nom); + } + + public void setInfos(final EMHProjectInfos _infos) { + this.baseRessourcesInfos_ = _infos; + } + + public void setScenarioCourant(final ManagerEMHScenario scenarioCourant) { + this.scenarioCourant = scenarioCourant; + } + +} Deleted: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHproject.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -1,183 +0,0 @@ -package org.fudaa.dodico.crue.metier; - -import java.io.File; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * Gere un projet EMH. Est construit a partir du fichier XML ETU. - * - * @author Adrien Hadoux - */ -public class EMHproject { - - /** - * Infos du projet, contient la base des fichiers de donn�es. - */ - private EMHProjectInfos baseRessourcesInfos_; - - /** - * Base des sc�narios disponible pour tout le projet. - */ - private final List<ManagerEMHScenario> baseScenarios = new ArrayList<ManagerEMHScenario>(); - - private final Map<String, ManagerEMHModeleBase> idModele = new HashMap<String, ManagerEMHModeleBase>(); - private final Map<String, ManagerEMHScenario> idScenario = new HashMap<String, ManagerEMHScenario>(); - - private final Map<String, ManagerEMHSousModele> idSousModele = new HashMap<String, ManagerEMHSousModele>(); - - private final List<ManagerEMHModeleBase> listeModele = new ArrayList<ManagerEMHModeleBase>(); - - private final List<ManagerEMHSousModele> listeSousModele = new ArrayList<ManagerEMHSousModele>(); - - /** - * Scenario courant du projet. Attention peut etre null. - */ - private ManagerEMHScenario scenarioCourant; - - // /** - // * Methode tres importante; c'est elle qui retourne les crue data générales du scénario courant. En effet, ces crue - // * data sont globale au scenario, elles contiennet donc la concaténation des crue data de chaque entité fille: - // * modeles, sous modeles. - // * - // * @author Adrien hadoux - // * @return - // */ - // public CrueData getCrueDataFromScenarioCourant() { - // if (getScenarioCourant() != null) { return CrueDataImpl.buildConcatFor(getScenarioCourant().getEMH()); } - // return null; - // } - - public void addBaseModele(final ManagerEMHModeleBase modele) { - this.listeModele.add(modele); - idModele.put(modele.getNom(), modele); - } - - public void addBaseSousModele(final ManagerEMHSousModele sousModele) { - this.listeSousModele.add(sousModele); - idSousModele.put(sousModele.getNom(), sousModele); - } - - public void addScenario(final ManagerEMHScenario scenario) { - this.idScenario.put(scenario.getNom(), scenario); - this.baseScenarios.add(scenario); - } - - public File getDirForRun(final ManagerEMHScenario sc, final EMHRun runCourant) { - File dir = new File(getInfos().getDirectories().get(EMHProjectInfos.RUNS), sc.getNom()); - dir = new File(dir, runCourant.getId()); - return dir; - } - - public File getDirForRunCourant() { - if (scenarioCourant != null && scenarioCourant.getRunCourant() != null) { return getDirForRun(scenarioCourant, - scenarioCourant.getRunCourant()); } - return null; - } - - private Map<String, File> getEtudeFiles(final Map<String, FichierCrueParModele> allFileUsed) { - final Map<String, File> res = new HashMap<String, File>(); - for (final Map.Entry<String, FichierCrueParModele> entry : allFileUsed.entrySet()) { - res.put(entry.getKey(), entry.getValue().getFichier().getProjetFichier(this)); - } - return res; - } - - /** - * @return l'association idFichier->File pour les fichier d'etude - */ - public Map<String, File> getFileEtudeScenario(final String id) { - final ManagerEMHScenario sc = getScenario(id); - if (sc == null) { return Collections.emptyMap(); } - return getEtudeFiles(sc.getAllFileUsed()); - } - - /** - * @return l'association idFichier->File pour les fichier d'etude - */ - public Map<String, File> getFileRunScenario(final String nom) { - final ManagerEMHScenario sc = getScenario(nom); - if (sc == null || sc.getRunCourant() == null) { return Collections.emptyMap(); } - return getRunFiles(sc.getAllFileUsed(), sc.getRunCourant()); - } - - /** - * @return l'association idFichier->File pour les fichier d'etude - */ - public Map<String, File> getFileRunScenarioCourant() { - if (scenarioCourant == null || scenarioCourant.getRunCourant() == null) { return Collections.emptyMap(); } - return getRunFiles(scenarioCourant.getAllFileUsed(), scenarioCourant.getRunCourant()); - } - - /** - * @return l'association idFichier->File pour les fichier du run courant - */ - public Map<String, File> getFilesEtudeScenarioCourant() { - if (scenarioCourant == null) { return Collections.emptyMap(); } - return getEtudeFiles(scenarioCourant.getAllFileUsed()); - } - - /** - * @return l'association pour les fichiers resultats du run courant - */ - public Map<String, File> getFilesResultatForCurrentRun() { - final File dir = getDirForRunCourant(); - if (dir != null) { return scenarioCourant.getFilesResultatIn(dir); } - return null; - - } - - public EMHProjectInfos getInfos() { - return baseRessourcesInfos_; - } - - public List<ManagerEMHModeleBase> getListeModeles() { - return Collections.unmodifiableList(listeModele); - } - - public List<ManagerEMHScenario> getListeScenarios() { - return baseScenarios; - } - - public List<ManagerEMHSousModele> getListeSousModeles() { - return listeSousModele; - } - - public ManagerEMHModeleBase getModele(final String nom) { - return idModele.get(nom); - } - - private Map<String, File> getRunFiles(final Map<String, FichierCrueParModele> allFileUsed, final EMHRun runCourant) { - final Map<String, File> res = new HashMap<String, File>(); - final File dirOfRun = getDirForRunCourant(); - for (final Map.Entry<String, FichierCrueParModele> entry : allFileUsed.entrySet()) { - final File modeleDir = new File(dirOfRun, entry.getValue().getParent().getNom()); - res.put(entry.getKey(), new File(modeleDir, entry.getValue().getFichier().getId())); - } - return res; - } - - public ManagerEMHScenario getScenario(final String nom) { - return idScenario.get(nom); - } - - public ManagerEMHScenario getScenarioCourant() { - return scenarioCourant; - } - - public ManagerEMHSousModele getSousModele(final String nom) { - return idSousModele.get(nom); - } - - public void setInfos(final EMHProjectInfos _infos) { - this.baseRessourcesInfos_ = _infos; - } - - public void setScenarioCourant(final ManagerEMHScenario scenarioCourant) { - this.scenarioCourant = scenarioCourant; - } - -} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/FichierCrue.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -41,7 +41,7 @@ * * @return */ - public File getProjetFichier(EMHproject proj) { + public File getProjetFichier(EMHProjet proj) { File dir = new File(proj.getInfos().getDirectories().get(EMHProjectInfos.FICHETUDES)); if (cheminRelatif != null) { dir = new File(dir, cheminRelatif); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/ManagerEMHScenario.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -1,6 +1,8 @@ package org.fudaa.dodico.crue.metier; import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -8,6 +10,8 @@ import java.util.Map; import org.fudaa.dodico.crue.metier.emh.EMHScenario; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Entite organisant les calculs sur des modeles simples ou enchaines @@ -88,23 +92,30 @@ return emh; } + private final static Logger LOGGER = LoggerFactory.getLogger(ManagerEMHScenario.class); + /** * @param dirOfRun le repertoire du run. * @return l'association id->File des fichiers resultats du run courant. */ - protected Map<String, File> getFilesResultatIn(final File dirOfRun) { + protected Map<String, URL> getFilesResultatIn(final File dirOfRun) { // pour le run courant final EMHRun runCourant = getRunCourant(); if (runCourant == null) { return Collections.emptyMap(); } - final Map<String, File> res = new HashMap<String, File>(); + final Map<String, URL> res = new HashMap<String, URL>(); // on parcout tous les modeles final List<EMHModeleRun> listeModelesRuns = runCourant.getListeModelesRuns(); for (final EMHModeleRun modeleRun : listeModelesRuns) { final File modeleDir = new File(dirOfRun, modeleRun.getModeleRun().getNom()); final List<FichierCrue> listeFichiers = modeleRun.getListeFichiers(); - for (final FichierCrue fichierCrue : listeFichiers) { - res.put(fichierCrue.getId(), new File(modeleDir, fichierCrue.getId())); + try { + for (final FichierCrue fichierCrue : listeFichiers) { + res.put(fichierCrue.getId(), new File(modeleDir, fichierCrue.getId()).toURI().toURL()); + } + } catch (MalformedURLException e) { + LOGGER.error("getFilesResultatIn " + dirOfRun, e); } + } return res; } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHModeleBase.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHModeleBase.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHModeleBase.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -6,6 +6,8 @@ package org.fudaa.dodico.crue.metier.emh; +import java.util.List; + import org.fudaa.dodico.crue.metier.helper.EMHHelper; /** @pdOid 3c043ca3-0277-42fd-8f18-0492e16904d9 */ @@ -17,6 +19,13 @@ } /** + * @return liste des modele + */ + public List<EMHSousModele> getSousModele() { + return EMHHelper.getEMHInRelationEMHContient(this, EnumTypeEMH.SOUS_MODELE); + } + + /** * @return la concatenation des sous-modele */ @Override Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHScenario.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/EMHScenario.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -32,6 +32,13 @@ } /** + * @return liste des modele + */ + public List<EMHModeleBase> getModele() { + return EMHHelper.getEMHInRelationEMHContient(this, EnumTypeEMH.MODELE); + } + + /** * @return le conteneur de loi: toujours non null */ public DonLoiHYConteneur getLoiConteneur() { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue10.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue10.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue10.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -4,6 +4,7 @@ */ package org.fudaa.dodico.crue.projet; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -31,6 +32,17 @@ } /** + * @return tous les types supportes + */ + public List<CrueFileType> getAllFileType() { + List<CrueFileType> allFiles = new ArrayList<CrueFileType>(20); + allFiles.addAll(getSousModele()); + allFiles.addAll(getModele()); + allFiles.addAll(getScenario()); + return allFiles; + } + + /** * @return the mODELE */ public List<CrueFileType> getModele() { Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue9.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/OrdonnanceurCrue9.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -0,0 +1,28 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.crue.projet; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.fudaa.dodico.crue.io.common.CrueFileType; + +/** + * @author deniger + */ +public class OrdonnanceurCrue9 { + + private final static List<CrueFileType> SCENARIO = Collections.unmodifiableList(Arrays.asList(CrueFileType.DC, + CrueFileType.DH)); + + /** + * @return the sCENARIO + */ + public List<CrueFileType> getScenario() { + return SCENARIO; + } + +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue10.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue10.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue10.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -0,0 +1,71 @@ +package org.fudaa.dodico.crue.projet; + +import java.io.File; +import java.util.List; + +import org.fudaa.ctulu.CtuluLibFile; +import org.fudaa.dodico.crue.common.CrueErrorManager; +import org.fudaa.dodico.crue.io.Crue10FileFormat; +import org.fudaa.dodico.crue.io.Crue10FileFormatFactory; +import org.fudaa.dodico.crue.io.common.CrueData; +import org.fudaa.dodico.crue.io.common.CrueFileType; + +/** + * Exporte les données au format crue neuf. Il est possible de définir les formats à exporter. + * + * @author Frederic Deniger + */ +public class ScenarioExporterCrue10 { + + private final String fichierModele; + private final CrueData dataToExport; + private final OrdonnanceurCrue10 ordonnanceur = new OrdonnanceurCrue10(); + private final Crue10FileFormatFactory factory = Crue10FileFormatFactory.getInstance(); + private List<CrueFileType> fileToExport; + + /** + * @return the fileToExport + */ + public List<CrueFileType> getFileToExport() { + return fileToExport; + } + + /** + * @param fileToExport the fileToExport to set + */ + public void setFileToExport(final List<CrueFileType> fileToExport) { + this.fileToExport = fileToExport; + } + + /** + * Sauvegarder a partir d'un fichier modele:Fonction sauvegarder sous + * + * @param fichierModele + * @param dataToExport + */ + public ScenarioExporterCrue10(final String fichierModele, final CrueData dataToExport) { + super(); + this.fichierModele = fichierModele; + this.dataToExport = dataToExport; + } + + /** + * S'occupe de persister le scenario en crue 10 en mettant toutes les données dans un minimum de fichier: 1 fichier + * pour drso, 1 pour dfrt.... + * + * @return true si réussite + */ + public CrueErrorManager export() { + // on recupere tous les fichiers a écrire + final List<CrueFileType> allFiles = fileToExport == null ? ordonnanceur.getAllFileType() : fileToExport; + final CrueErrorManager error = new CrueErrorManager(ProjetMessages.RESOURCE_BUNDLE); + for (final CrueFileType crueFileType : allFiles) { + final Crue10FileFormat fileFormat = factory.getFileFormat(crueFileType); + final File fileDest = CtuluLibFile.changeExtension(new File(fichierModele), fileFormat.getExtensions()[0]); + fileFormat.write(dataToExport, fileDest, error.getNewAnalyser()); + + } + return error; + } + +} Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -0,0 +1,53 @@ +package org.fudaa.dodico.crue.projet; + +import java.io.File; + +import org.fudaa.ctulu.CtuluLibFile; +import org.fudaa.dodico.crue.common.CrueErrorManager; +import org.fudaa.dodico.crue.io.AbstractCrue9FileFormat; +import org.fudaa.dodico.crue.io.Crue9FileFormatFactory; +import org.fudaa.dodico.crue.io.common.CrueData; +import org.fudaa.dodico.crue.io.common.CrueFileType; + +/** + * Exporte les données au format crue neuf. Il est possible de définir les formats à exporter. + * + * @author Frederic Deniger + */ +public class ScenarioExporterCrue9 { + + private final String fichierModele; + private final CrueData dataToExport; + + /** + * Sauvegarder a partir d'un fichier modele:Fonction sauvegarder sous + * + * @param fichierModele + * @param dataToExport + */ + public ScenarioExporterCrue9(final String fichierModele, final CrueData dataToExport) { + super(); + this.fichierModele = fichierModele; + this.dataToExport = dataToExport; + } + + /** + * S'occupe de persister le scenario en crue 10 en mettant toutes les données dans un minimum de fichier: 1 fichier + * pour drso, 1 pour dfrt.... + * + * @return true si réussite + */ + public CrueErrorManager export() { + final CrueErrorManager error = exportFor(CrueFileType.DC, null); + return exportFor(CrueFileType.DH, error); + + } + + private CrueErrorManager exportFor(final CrueFileType dc, final CrueErrorManager error) { + final CrueErrorManager res = error == null ? new CrueErrorManager(ProjetMessages.RESOURCE_BUNDLE) : error; + final AbstractCrue9FileFormat format = Crue9FileFormatFactory.getFileFormat(dc); + format.write(dataToExport, CtuluLibFile.changeExtension(new File(fichierModele), format.getExtensions()[0]), error + .getNewAnalyser()); + return res; + } +} Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -1,13 +1,17 @@ package org.fudaa.dodico.crue.projet; import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; import java.util.Map; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.dodico.crue.common.CrueErrorManager; import org.fudaa.dodico.crue.io.common.Messages; +import org.fudaa.dodico.crue.metier.EMHProjet; import org.fudaa.dodico.crue.metier.EMHRun; -import org.fudaa.dodico.crue.metier.EMHproject; import org.fudaa.dodico.crue.metier.ManagerEMHScenario; import org.fudaa.dodico.crue.metier.emh.EMHScenario; import org.fudaa.dodico.crue.validation.ValidateConnectionModele; @@ -19,34 +23,39 @@ */ public class ScenarioLoader { private final ManagerEMHScenario scenario; - private final EMHproject projet; + private final EMHProjet projet; - public ScenarioLoader(final ManagerEMHScenario scenario, final EMHproject projet) { + /** + * @param scenario le scenario + * @param projet le projet contenant + */ + public ScenarioLoader(final ManagerEMHScenario scenario, final EMHProjet projet) { super(); this.scenario = scenario; this.projet = projet; } - private CrueErrorManager errorMng; - private CtuluAnalyze analyzer; - /** * Realise la lecture. * * @return true si ok */ public CrueErrorManager compute() { - errorMng = new CrueErrorManager(ProjetMessages.RESOURCE_BUNDLE); - analyzer = createAnalyser(errorMng); + final CrueErrorManager errorMng = new CrueErrorManager(ProjetMessages.RESOURCE_BUNDLE); + final CtuluAnalyze analyzer = errorMng.getNewAnalyser(); + errorMng.setMainAnalyze(analyzer); analyzer.setDesc(Messages.RESOURCE_BUNDLE.getString("loader.fichiers.scenario.chargt") + " " + scenario.getNom()); final boolean ok = validFiles(errorMng); if (!ok) { return errorMng; } final EMHRun runCourant = scenario.getRunCourant(); - Map<String, File> files = null; + Map<String, URL> files = null; + if (projet.getScenario(scenario.getNom()) == null) { + analyzer.addFatalError("not.scenario.error", scenario.getNom()); + } if (runCourant == null) { - files = projet.getFilesEtudeScenarioCourant(); + files = projet.getFileEtudeScenario(scenario.getNom()); } else { - files = projet.getFileRunScenarioCourant(); + files = projet.getURLRunScenario(scenario.getNom()); } EMHScenario emhScenario = null; if (scenario.getInfosVersions() != null && scenario.getInfosVersions().getType() != null) { @@ -62,19 +71,19 @@ } if (emhScenario == null) { return errorMng; } // on valide les données - final CtuluAnalyze analyseValidationCOnnexite = createAnalyser(errorMng); + final CtuluAnalyze analyseValidationCOnnexite = errorMng.getNewAnalyser(); analyseValidationCOnnexite.setDesc(ProjetMessages.getString("validation.connexite", scenario.getNom())); - ValidateConnectionModele.validateConnexite(data, analyseValidationCOnnexite); + ValidateConnectionModele.validateConnexite(emhScenario, analyseValidationCOnnexite); return errorMng; } private boolean validFiles(final CrueErrorManager errorMng) { // on teste la presence de fichiers - Map<String, File> fileToLoad = projet.getFilesEtudeScenarioCourant(); + Map<String, URL> fileToLoad = projet.getFilesEtudeScenarioCourant(); boolean ok = validFileExists(fileToLoad, "loader.fichier.etude.exist"); if (scenario.getRunCourant() != null) { - final Map<String, File> runFiles = projet.getFileRunScenarioCourant(); + final Map<String, URL> runFiles = projet.getURLScenarioCourant(); ok = ok && validFileExists(runFiles, "loader.fichier.run.exist"); if (ok) { fileToLoad = runFiles; @@ -85,42 +94,58 @@ } - private boolean validFileExists(final Map<String, File> allFileUsed, final String title) { + private boolean validFileExists(final Map<String, URL> allFileUsed, final String title) { CtuluAnalyze fileNotExist = null; boolean valid = true; - for (final File f : allFileUsed.values()) { - if (!f.exists()) { + for (final URL f : allFileUsed.values()) { + if (!urlExist(f)) { valid = false; if (fileNotExist == null) { fileNotExist = new CtuluAnalyze(ProjetMessages.RESOURCE_BUNDLE); fileNotExist.setDesc(ProjetMessages.RESOURCE_BUNDLE.getString(title)); } - fileNotExist.addError("loader.fichier.notExist.error", f.getAbsoluteFile()); + fileNotExist.addError("loader.fichier.notExist.error", f.toString()); } } return valid; } - private boolean warnResFileExists(final Map<String, File> allFileUsed) { + private boolean warnResFileExists(final Map<String, URL> allFileUsed) { CtuluAnalyze fileNotExist = null; boolean valid = true; - for (final File f : allFileUsed.values()) { - if (!f.exists()) { + for (final URL url : allFileUsed.values()) { + if (!urlExist(url)) { valid = false; if (fileNotExist == null) { fileNotExist = new CtuluAnalyze(ProjetMessages.RESOURCE_BUNDLE); fileNotExist.setDesc(ProjetMessages.RESOURCE_BUNDLE.getString("loader.resFichier.exist")); } - fileNotExist.addWarn("loader.resFichier.notExist.error", f.getAbsoluteFile()); + fileNotExist.addWarn("loader.resFichier.notExist.error", url.toString()); } } return valid; } - protected static CtuluAnalyze createAnalyser(final CrueErrorManager errorMng) { - final CtuluAnalyze res = errorMng.getNewAnalyser(); - res.setDefaultResourceBundle(ProjetMessages.RESOURCE_BUNDLE); - return res; + private boolean urlExist(final URL url) { + boolean exist = false; + try { + final File f = new File(url.toURI()); + exist = f.exists(); + } catch (final Exception e) { + // ce n'est pas un fichier + InputStream openStream = null; + try { + openStream = url.openStream(); + exist = openStream != null; + } catch (final IOException e1) { + exist = false; + // LOGGER.error("warnResFileExists",e1); + } finally { + CtuluLibFile.close(openStream); + } + + } + return exist; } } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -4,7 +4,7 @@ */ package org.fudaa.dodico.crue.projet; -import java.io.File; +import java.net.URL; import java.util.List; import java.util.Map; @@ -46,7 +46,7 @@ this.analyzer = analyzer; } - protected EMHScenario compute(final Map<String, File> files) { + protected EMHScenario compute(final Map<String, URL> files) { // pour crue10, on vérifie les fichiers xml final ValidateModeleScenario crue10Valid = new ValidateModeleScenario(files, scenario); crue10Valid.validate(errorMng); @@ -59,7 +59,7 @@ * * @param analyzer */ - private EMHScenario ordonnanceChargementCrue10(final Map<String, File> file) { + private EMHScenario ordonnanceChargementCrue10(final Map<String, URL> file) { // -- data globale qui va contenir l'ensemble de totues les datas des scenarios,modeles,sous modeles,...--// // final CrueData dataScenarioGlobale = new CrueDataImpl(); @@ -107,7 +107,7 @@ return null; } - private void readFile(final List<CrueFileType> typesToRead, final Map<String, File> idFile, + private void readFile(final List<CrueFileType> typesToRead, final Map<String, URL> idFile, final ManagerEMHContainerBase content, final CrueData dest) { for (final CrueFileType type : typesToRead) { final Crue10FileFormat fmt = factory.getFileFormat(type); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2009-06-27 19:57:53 UTC (rev 4891) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2009-06-28 22:19:41 UTC (rev 4892) @@ -4,7 +4,7 @@ */ package org.fudaa.dodico.crue.projet; -import java.io.File; +import java.net.URL; import java.util.List; import java.util.Map; @@ -40,20 +40,21 @@ /** * Ordonnance le chargement d'un projet crue 10: sous modeles puis modeles puis scenarios */ - protected EMHScenario compute(final Map<String, File> files) { + protected EMHScenario compute(final Map<String, URL> files) { // -- recherche des fichiers sous modeles --// final List<ManagerEMHModeleBase> fils = scenario.getFils(); if (fils.isEmpty()) { analyzer.addFatalError("noCurrentModele.error"); + return null; } else if (fils.size() > 1) { - analyzer.addFatalError("loader.crue9.oneModele.authorized"); + analyzer.addFatalError("crue9.oneModele.authorized"); return null; } final ManagerEMHModeleBase modele = fils.get(0); - final File fichierDC = files.get(modele.getListeFichiers().getFile(CrueFileType.DC)); - final File fichierDH = files.get(modele.getListeFichiers().getFile(CrueFileType.DH)); + final URL fichierDC = files.get(modele.getListeFichiers().getFile(CrueFileType.DC)); + final URL fichierDH = files.get(modele.getListeFichiers().getFile(CrueFileType.DH)); if (fichierDC == null) { analyzer.addFatalError("loader.crue9.noDefined", "DC", modele.getNom()); @@ -64,13 +65,14 @@ return null; } - CtuluAnalyze ana = ScenarioLoader.createAnalyser(errorMng); + CtuluAnalyze ana = errorMng.getNewAnalyser(); final CrueIOResu<CrueData> ioResuDC = Crue9FileFormatFactory.getDCFileFormat().read(fichierDC, ana, null); if (ana.containsFatalError()) { retu... [truncated message content] |