|
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] |