|
From: <had...@us...> - 2009-05-07 19:06:49
|
Revision: 4735
http://fudaa.svn.sourceforge.net/fudaa/?rev=4735&view=rev
Author: hadouxad
Date: 2009-05-07 19:06:42 +0000 (Thu, 07 May 2009)
Log Message:
-----------
IHM test complets
Modified Paths:
--------------
trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueScenarioTreeManagerFille.java
Added Paths:
-----------
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CommomLib.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheInfosGenerales.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheScenario.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleComparaisonScenario.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleGenerationCrue9.java
Removed Paths:
-------------
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/CruePersistanceErrorManager.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ChargerScenario.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueComparaisonScenarioFille.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CruePanelFicheScenario.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CruetransformationCrue9Fille.java
Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties 2009-05-07 17:18:59 UTC (rev 4734)
+++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties 2009-05-07 19:06:42 UTC (rev 4735)
@@ -14,4 +14,5 @@
compute.error.notAnyScenarioFiles = Erreur, il manque un fichier dans un sous modeles: il faut u liste fixe de fichiers de niveau sc\xE9nario : OCAL, ORES, PCAL, DCLM, DLHY
compute.error.fileNotExist = Erreur, il n'existe pas de fichier a l'emplacement suivant {fichier}
compute.error.drsoFailed = Erreur, la lecture du fichier DRSO a echouee: {fichier}
-compute.error.dcFailed = Erreur, la lecture du fichier DC a echouee: {fichier}
\ No newline at end of file
+compute.error.dcFailed = Erreur, la lecture du fichier DC a echouee: {fichier}
+generate.error.noScenarioSelected = Erreur, aucun sc\xE9nario n'a a \xE9t\xE9 s\xE9lectionn\xE9
\ No newline at end of file
Deleted: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/CruePersistanceErrorManager.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/CruePersistanceErrorManager.java 2009-05-07 17:18:59 UTC (rev 4734)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/CruePersistanceErrorManager.java 2009-05-07 19:06:42 UTC (rev 4735)
@@ -1,119 +0,0 @@
-package org.fudaa.fudaa.crue;
-
-import java.awt.BorderLayout;
-import java.awt.Frame;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.logging.LogRecord;
-
-import javax.swing.JButton;
-import javax.swing.JDialog;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-
-import org.fudaa.ctulu.CtuluAnalyze;
-import org.fudaa.ctulu.CtuluDefaultLogFormatter;
-import org.fudaa.ctulu.CtuluUI;
-import org.fudaa.ctulu.gui.CtuluLibSwing;
-import org.fudaa.dodico.crue.io.common.Messages;
-import org.fudaa.ebli.ressource.EbliResource;
-import org.fudaa.fudaa.commun.FudaaLib;
-import org.jdesktop.swingx.JXTreeTable;
-import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode;
-import org.jdesktop.swingx.treetable.DefaultTreeTableModel;
-
-/**
- * Fred: interet de cette classe ? Manager qui indique toutes les erreurs qui se sont produites pendant le chargement.
- *
- * @author Adrien Hadoux
- */
-public class CruePersistanceErrorManager {
-
- public CruePersistanceErrorManager() {
- super();
- this.analyser_ = new CtuluAnalyze(Messages.RESOURCE_BUNDLE);
- }
-
- CtuluAnalyze analyser_ = new CtuluAnalyze(Messages.RESOURCE_BUNDLE);
-
- public CtuluAnalyze getAnalyser() {
- return analyser_;
- }
-
- public void setListeMessageError(final CtuluAnalyze listeMessageError) {
- this.analyser_ = listeMessageError;
- }
-
- public void addMessageError(final String message) {
- analyser_.addError(message);
- }
-
- public void clear() {
-
- analyser_.clear();
-
- }
-
- public void showDialog(final CtuluUI ui, final String title) {
- if (analyser_ == null && ui != null) {
- ui.message(EbliResource.EBLI.getString("Chargement terminé"), EbliResource.EBLI
- .getString("Chargement terminé avec succès"), false);
-
- return;
- }
-
- final JXTreeTable table = new JXTreeTable(new DefaultTreeTableModel(constructArborescence(analyser_)));
- table.setEditable(false);
- final Frame f;
- if (ui != null) {
- f = CtuluLibSwing.getFrameAncestorHelper(ui.getParentComponent());
- } else {
- f = null;
- }
- final JDialog dialog_ = new JDialog(f);
- dialog_.setModal(true);
- dialog_.setTitle(title);
- final JPanel container = new JPanel(new BorderLayout());
- container.add(new JScrollPane(table), BorderLayout.CENTER);
-
- container.add(new JLabel(EbliResource.EBLI.getString("Op�ration termin�. Informations")), BorderLayout.NORTH);
-
- final JButton ajouter_ = new JButton("Valider", EbliResource.EBLI.getIcon("crystal_valider"));
- ajouter_.addActionListener(new ActionListener() {
-
- public void actionPerformed(final ActionEvent e) {
- dialog_.dispose();
- }
-
- });
- container.add((new JPanel()).add(ajouter_), BorderLayout.SOUTH);
-
- dialog_.setContentPane(container);
- if (ui != null) {
- dialog_.setLocationRelativeTo(ui.getParentComponent());
- }
- // dialog_.pack();
- dialog_.setSize(600, 250);
- dialog_.setVisible(true);
-
- }
-
- private DefaultMutableTreeTableNode constructArborescence(final CtuluAnalyze message) {
- final DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode("root");
-
- final DefaultMutableTreeTableNode rootFic = new DefaultMutableTreeTableNode(message.getDesc());
- root.add(rootFic);
-
- boolean perfect = message.isEmpty();
- for (LogRecord log : message.getRecords()) {
- rootFic.add(new DefaultMutableTreeTableNode(CtuluDefaultLogFormatter.DEFAULT.format(log)));
- }
- if (perfect) {
- rootFic.add(new DefaultMutableTreeTableNode(FudaaLib.getS("Aucun problème rencontré")));
- }
-
- return root;
- }
-
-}
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java 2009-05-07 17:18:59 UTC (rev 4734)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java 2009-05-07 19:06:42 UTC (rev 4735)
@@ -5,11 +5,15 @@
import javax.swing.BorderFactory;
import javax.swing.DefaultListModel;
+import org.fudaa.dodico.crue.metier.EMHModeleBase;
import org.fudaa.dodico.crue.metier.EMHModeleRun;
import org.fudaa.dodico.crue.metier.EMHRun;
import org.fudaa.dodico.crue.metier.EMHScenario;
import org.fudaa.dodico.crue.metier.EMHproject;
+import org.fudaa.dodico.crue.metier.FichierCrue;
import org.fudaa.ebli.visuallibrary.graphe.GrapheCellRenderer;
+import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeFile;
+import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeModele;
import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeModeleRun;
import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeRun;
import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeRunCourant;
@@ -31,12 +35,13 @@
public class CrueScenarioBuilder {
/**
- * Construit une bu list avec l'ensemble des sc�narios du logiciel
+ * Cree la liste avec ou non bordure.
*
* @param baseScenarios
+ * @param setBorder
* @return
*/
- public static BuList buildListScenario(final List<EMHScenario> baseScenarios) {
+ public static BuList buildListScenario(final List<EMHScenario> baseScenarios, boolean setBorder) {
final DefaultListModel model = new DefaultListModel();
if (baseScenarios != null) {
for (final EMHScenario scenario : baseScenarios) {
@@ -47,7 +52,9 @@
}
final BuList liste = new BuList(model);
liste.setCellRenderer(new GrapheCellRenderer());
- liste.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Scénarios disponibles")));
+ if (setBorder) {
+ liste.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Scénarios disponibles")));
+ }
return liste;
}
@@ -55,10 +62,20 @@
* Construit une bu list avec l'ensemble des sc�narios du logiciel
*
* @param baseScenarios
+ * @return
+ */
+ public static BuList buildListScenario(final List<EMHScenario> baseScenarios) {
+ return buildListScenario(baseScenarios, true);
+ }
+
+ /**
+ * Construit une bu list avec l'ensemble des sc�narios du logiciel
+ *
+ * @param baseScenarios
* @return modele du tree.
*/
public static TreeScenarioModel buildTreeScenario(EMHproject projet) {
- final DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode("root");
+ final TreeNodeFile root = new TreeNodeFile("root");
if (projet.getListeScenarios() != null) {
for (final EMHScenario scenario : projet.getListeScenarios()) {
TreeNodeScenario nodeScenar = new TreeNodeScenario(scenario);
@@ -89,6 +106,50 @@
}
}
+
+ if (scenario.getGestionModele() != null && scenario.getGestionModele().getListeModeles() != null) {
+ TreeNodeFile conteneurModeles = new TreeNodeFile("Modeles");
+ nodeScenar.add(conteneurModeles);
+ for (EMHModeleBase m : scenario.getGestionModele().getListeModeles()) {
+ TreeNodeModele nodeModel = new TreeNodeModele(m);
+ conteneurModeles.add(nodeModel);
+ if (m.getListeSousModeles() != null && m.getListeSousModeles().getListeModeles() != null) {
+ TreeNodeFile conteneurSModeles = new TreeNodeFile("Sous Modeles");
+ nodeModel.add(conteneurSModeles);
+ for (EMHModeleBase sousmodele : m.getListeSousModeles().getListeModeles()) {
+ TreeNodeModele nodeSModel = new TreeNodeModele(sousmodele);
+ conteneurSModeles.add(nodeSModel);
+
+ if (sousmodele.getListeFichiersCrue() != null) {
+ TreeNodeFile conteneurSModelesFichier = new TreeNodeFile("Fichiers");
+ nodeSModel.add(conteneurSModelesFichier);
+ for (FichierCrue fc : sousmodele.getListeFichiersCrue()) {
+ conteneurSModelesFichier.add(new TreeNodeFile(fc.getId()));
+ }
+ }
+
+ }
+
+ }
+ // -- fichiers du modeles --//
+ if (m.getListeFichiersCrue() != null) {
+ TreeNodeFile conteneurModelesFichier = new TreeNodeFile("Fichiers");
+ nodeModel.add(conteneurModelesFichier);
+ for (FichierCrue fc : m.getListeFichiersCrue()) {
+ conteneurModelesFichier.add(new TreeNodeFile(fc.getId()));
+ }
+ }
+ }
+ }
+ // -- fichiers du scenario --//
+ if (scenario.getListeFichiersScenario() != null) {
+ TreeNodeFile conteneurModelesFichier = new TreeNodeFile("Fichiers");
+ nodeScenar.add(conteneurModelesFichier);
+ for (FichierCrue fc : scenario.getListeFichiersScenario()) {
+ conteneurModelesFichier.add(new TreeNodeFile(fc.getId()));
+ }
+ }
+
}
}
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java 2009-05-07 17:18:59 UTC (rev 4734)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java 2009-05-07 19:06:42 UTC (rev 4735)
@@ -5,6 +5,7 @@
import javax.swing.JTree;
import javax.swing.tree.DefaultTreeCellRenderer;
+import org.fudaa.dodico.crue.metier.EMHModeleBase;
import org.fudaa.dodico.crue.metier.EMHModeleRun;
import org.fudaa.dodico.crue.metier.EMHRun;
import org.fudaa.dodico.crue.metier.EMHScenario;
@@ -106,13 +107,67 @@
public Object getValueAt(int column) {
if (column == 0) {
return r.getId();
+ } else if (column == 2) {
+ if (r.getInfosVersion() != null) {
+ return r.getInfosVersion().getCommentaire();
+ } else {
+ return "";
+ }
} else {
return "";
}
}
}
+ public static class TreeNodeFile extends DefaultMutableTreeTableNode {
+ String id;
+
+ public TreeNodeFile(String id) {
+ super(id);
+ this.id = id;
+ }
+
+ @Override
+ public Object getValueAt(int column) {
+ if (column == 0) {
+ return id;
+ } else {
+ return "";
+ }
+ }
+ }
+
/**
+ * Node du tree reservé aux objets de type run
+ *
+ * @author Adrien Hadoux
+ */
+ public static class TreeNodeModele extends DefaultMutableTreeTableNode {
+ EMHModeleBase r;
+
+ public TreeNodeModele(EMHModeleBase modele) {
+ super(modele);
+ r = modele;
+ }
+
+ @Override
+ public Object getValueAt(int column) {
+ if (column == 0) {
+ return r.getId();
+ } else if (column == 2) {
+ if (r.getInfosVersions() != null) {
+ return r.getInfosVersions().getCommentaire();
+ } else {
+ return "";
+ }
+ } else {
+ return "";
+ }
+ }
+
+ }
+
+ /**
* Node du tree reservé aux objets de type run courant
*
* @author Adrien Hadoux
Added: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CommomLib.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CommomLib.java (rev 0)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CommomLib.java 2009-05-07 19:06:42 UTC (rev 4735)
@@ -0,0 +1,42 @@
+package org.fudaa.fudaa.crue.common;
+
+import java.io.File;
+
+import javax.swing.JTextField;
+
+/**
+ * librairie commune fournit des methodes utiles.
+ *
+ * @author Adrien Hadoux
+ */
+public class CommomLib {
+
+ /**
+ * OUvre un chooser et place le résulat dans la textfield.
+ *
+ * @param field
+ */
+ public static void openChooserAndSynchroniseTf(JTextField field, CrueCommomImplementation impl, String title) {
+ openChooserAndSynchroniseTf(field, impl, title, new String[] { "" });
+
+ }
+
+ /**
+ * Idem mais avec une contrainte sur les extensions.
+ *
+ * @param field
+ * @param impl
+ * @param title
+ * @param extensions
+ */
+ public static void openChooserAndSynchroniseTf(JTextField field, CrueCommomImplementation impl, String title,
+ String[] extensions) {
+ final File fichierAbsolu = impl.ouvrirFileChooser(title, extensions);
+
+ if (fichierAbsolu != null) {
+ field.setText(fichierAbsolu.getAbsolutePath());
+ }
+
+ }
+
+}
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-07 17:18:59 UTC (rev 4734)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-07 19:06:42 UTC (rev 4735)
@@ -13,15 +13,15 @@
import org.fudaa.fudaa.crue.builder.CrueScenarioBuilder;
import org.fudaa.fudaa.crue.explorer.CrueLauncher;
import org.fudaa.fudaa.crue.projet.CrueProjet;
-import org.fudaa.fudaa.crue.view.CrueComparaisonScenarioFille;
+import org.fudaa.fudaa.crue.view.CrueFicheInfosGenerales;
+import org.fudaa.fudaa.crue.view.CrueFilleComparaisonScenario;
+import org.fudaa.fudaa.crue.view.CrueFilleGenerationCrue9;
import org.fudaa.fudaa.crue.view.CrueScenarioTreeManagerFille;
-import org.fudaa.fudaa.crue.view.CruetransformationCrue9Fille;
import org.jdesktop.swingx.JXTreeTable;
import com.memoire.bu.BuColumn;
import com.memoire.bu.BuInformationsDocument;
import com.memoire.bu.BuInformationsSoftware;
-import com.memoire.bu.BuInternalFrame;
import com.memoire.bu.BuList;
import com.memoire.bu.BuMainPanel;
import com.memoire.bu.BuMenu;
@@ -86,8 +86,9 @@
* @param project
* @param f
*/
- public void init(final EMHproject project, final File f) {
-
+ public void init(final CrueProjet crueproject, final File f) {
+ crueProjet_ = crueproject;
+ final EMHproject project = crueproject.getProject();
// -- initialisation des encarts du scenario --//
if (project.getScenarioCourant() != null) {
@@ -117,6 +118,8 @@
// -- construction de'application --//
rebuildApplication(f);
+ // -- ou verture de l'ihm de management des scenario --//
+ addScenarioManagerFille();
}
@@ -277,9 +280,21 @@
if (scenarioFille == null) {
scenarioFille = new CrueScenarioTreeManagerFille(crueProjet_);
}
- this.addInternalFrame(scenarioFille);
+ this.addInternalFrame(new CrueScenarioTreeManagerFille(crueProjet_));
}
+ public CrueFicheInfosGenerales etudeFille = null;
+
+ /**
+ *
+ */
+ public void addEtudeManagerFille() {
+ if (etudeFille == null) {
+ etudeFille = new CrueFicheInfosGenerales(crueProjet_);
+ }
+ this.addInternalFrame(etudeFille);
+ }
+
@Override
public void actionPerformed(final ActionEvent _evt) {
final String action = _evt.getActionCommand();
@@ -294,16 +309,21 @@
// -- ouverture de l'interface de gestion des scenarios --//
addScenarioManagerFille();
} else if (action.equals("GESTIONETUDE")) {
-
- BuInternalFrame inframe = new BuInternalFrame();
- inframe.getContentPane().add(crueProjet_.createInFosProjectPanel());
- inframe.setTitle(FCrueResource.getS("Infos Etude"));
- inframe.setSize(400, 150);
- this.addInternalFrame(inframe);
+ addEtudeManagerFille();
+ // BuInternalFrame inframe = new BuInternalFrame();
+ // inframe.getContentPane().add(crueProjet_.createInFosProjectPanel());
+ // inframe.setTitle(FCrueResource.getS("Infos Etude"));
+ // inframe.setSize(400, 150);
+ // this.addInternalFrame(inframe);
} else if (action.equals("GESTIONCOMPARAISON")) {
- this.addInternalFrame(new CrueComparaisonScenarioFille());
+ if (crueProjet_.getProject().getListeScenarios().size() < 2) {
+ crueProjet_.getImpl().error(
+ FCrueResource.getS("Erreur, il faut au moins 2 scénarios disponibles dans l'étude."));
+ } else {
+ this.addInternalFrame(new CrueFilleComparaisonScenario(crueProjet_));
+ }
} else if (action.equals("GESTIONTRANSFORMATION")) {
- this.addInternalFrame(new CruetransformationCrue9Fille(crueProjet_));
+ this.addInternalFrame(new CrueFilleGenerationCrue9(crueProjet_));
}
{
Deleted: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ChargerScenario.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ChargerScenario.java 2009-05-07 17:18:59 UTC (rev 4734)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ChargerScenario.java 2009-05-07 19:06:42 UTC (rev 4735)
@@ -1,133 +0,0 @@
-package org.fudaa.fudaa.crue.projet;
-
-import java.awt.event.ActionEvent;
-
-import org.fudaa.ctulu.CtuluAnalyze;
-import org.fudaa.dodico.crue.metier.EMHScenario;
-import org.fudaa.dodico.crue.metier.emh.CrueData;
-import org.fudaa.dodico.crue.metier.emh.CrueDataImpl;
-import org.fudaa.ebli.commun.EbliActionSimple;
-import org.fudaa.fudaa.crue.common.CrueCommomImplementation;
-import org.fudaa.fudaa.crue.common.FCrueResource;
-
-/**
- * Classe qui se charge de charger en memoire un scénario donné.
- *
- * @author Adrien Hadoux
- */
-public class ChargerScenario {
- /**
- * @author Adrien Hadoux
- */
- public static class CrueActionChargerScenario extends EbliActionSimple {
- /**
- *
- */
- private static final long serialVersionUID = 7682734169100306919L;
-
- EMHScenario scenario;
-
- CrueProjet projet;
- CrueCommomImplementation impl;
-
- /**
- * @param scenario
- * @param projet
- * @param impl
- */
- public CrueActionChargerScenario(EMHScenario scenario, CrueProjet projet) {
- super(FCrueResource.getS("Charger Scénario en mémoire"), FCrueResource.CRUE.getIcon("crystal_ouvrir.png"),
- "SCENARIOCHARGER");
- this.projet = projet;
- this.scenario = scenario;
- this.impl = projet.getImpl();
- }
-
- @Override
- public void actionPerformed(ActionEvent _e) {
- if (impl.question(FCrueResource.getS("Chargement"), FCrueResource
- .getS("Etes-vous sur de vouloir charger ce scénario courant?"))) {
- if (scenario != null) {
- ChargerScenario algo = new ChargerScenario(projet, scenario);
- algo.compute();
- }
-
- }
- }
-
- }
-
- EMHScenario scenario;
-
- CrueProjet projet;
-
- /**
- * @param projet
- * @param scenario
- */
- public ChargerScenario(CrueProjet projet, EMHScenario scenario) {
- super();
- this.projet = projet;
- this.scenario = scenario;
- }
-
- /**
- * Realise le calcul.
- *
- * @return
- */
- public CrueData compute() {
-
- projet.managerError.clear();
- CtuluAnalyze analyzer = projet.managerError.getAnalyser();
-
- // -- detection crue 9 ou 10 --//
- if (scenario.getInfosVersions() != null && scenario.getInfosVersions().getType() != null) {
-
- String type = scenario.getInfosVersions().getType().toUpperCase();
-
- if (type.contains("9")) {
- return computeCrue9(analyzer);
- } else {
- return computeCrue10(analyzer);
- }
-
- } else {
- analyzer.addError("io.etu.typeNotDefined");
- return null;
- }
-
- }
-
- /**
- * Calcul le scenario de type crue 9
- *
- * @return
- */
- public CrueData computeCrue9(CtuluAnalyze analyzer) {
- CrueData res = new CrueDataImpl();
-
- // -- recuperation du fichier DC --//
- if (scenario.getRunCourant() != null) {
- // scenario.getRunCourant().setListeModelesRuns(listeModelesRuns)
- // TODO continuer
-
- }
- projet.managerError.showDialog(projet.getImpl(), FCrueResource.getS("Résultats du Chargement scénario"));
- return res;
- }
-
- /**
- * calcul le scenario de type crue 10
- *
- * @return
- */
- public CrueData computeCrue10(CtuluAnalyze analyzer) {
- CrueData res = new CrueDataImpl();
- // TODO continuer
-
- projet.managerError.showDialog(projet.getImpl(), FCrueResource.getS("Résultats du Chargement scénario"));
- return res;
- }
-
-}
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-05-07 17:18:59 UTC (rev 4734)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-05-07 19:06:42 UTC (rev 4735)
@@ -1,24 +1,14 @@
package org.fudaa.fudaa.crue.projet;
-import java.awt.GridLayout;
import java.io.File;
-import javax.swing.BorderFactory;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JTextField;
-
import org.fudaa.dodico.crue.io.Crue10FileFormatFactory;
import org.fudaa.dodico.crue.metier.EMHproject;
import org.fudaa.dodico.crue.metier.emh.CrueData;
-import org.fudaa.ebli.commun.EbliActionSimple;
-import org.fudaa.ebli.commun.EbliComponentFactory;
import org.fudaa.fudaa.crue.common.CrueCommomImplementation;
import org.fudaa.fudaa.crue.common.FCrueResource;
import org.fudaa.fudaa.crue.view.CruePersistanceErrorManager;
-import com.memoire.bu.BuPanel;
-
/**
* Projet Crue. Contient le contenu du fichier xml ETU lu. Manage les scc�narios, modeles et sous modeles crue au sein
* de l'application fudaa.
@@ -40,7 +30,7 @@
/**
* Les donnees crueData chargees.
*/
- CrueData dataChargees;
+ CrueData dataSources;
/**
* Lancement d'un projet.
@@ -55,7 +45,7 @@
project = readProject(fichierEtu);
// -- initialisation des composants de l'IHM --//
- impl.init(project, fichierEtu);
+ impl.init(this, fichierEtu);
}
@@ -71,6 +61,17 @@
final EMHproject projet = Crue10FileFormatFactory.getETUFileFormat().read(_f, managerError.getAnalyser(), null);
// -- affichage du r�sultat --//
managerError.showDialog(impl, FCrueResource.getS("Chargement projet"));
+
+ if (projet.getScenarioCourant() != null) {
+ if (impl.question(FCrueResource.getS("Chargement"), FCrueResource.getS("Le scénario courant ") + " "
+ + projet.getScenarioCourant().getId() + FCrueResource.getS("va être chargé. Voulez-vosu continuer?"))) {
+
+ ScenarioLoader algo = new ScenarioLoader(this, projet.getScenarioCourant());
+ // -- chargement du projet --//
+ dataSources = algo.compute();
+
+ }
+ }
return projet;
}
@@ -96,58 +97,65 @@
*
* @return panel des infos associees.
*/
- public JPanel createInFosProjectPanel() {
- BuPanel infos = new BuPanel(new GridLayout(6, 2, 5, 1));
+ // public JPanel createInFosProjectPanel() {
+ // BuPanel infos = new BuPanel(new GridLayout(6, 2, 5, 1));
+ //
+ // infos.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Infos Etude")));
+ //
+ // JLabel titreEtude1 = new JLabel(FCrueResource.getS("Etude:"));
+ // JTextField titreEtude2 = new JTextField(fichierEtu_.getName(), 10);
+ // JLabel titreCommentaire = new JLabel(FCrueResource.getS("Commentaire:"));
+ // JTextField titreCommentaire2 = new JTextField(10);
+ //
+ // JLabel path1 = new JLabel(project.getInfos().FICHETUDES + ":");
+ // JTextField path1_2 = new JTextField(10);
+ // JLabel path2 = new JLabel(project.getInfos().RUNS + ":");
+ // JTextField path2_2 = new JTextField(10);
+ // JLabel path3 = new JLabel(project.getInfos().RAPPORTS + ":");
+ // JTextField path3_2 = new JTextField(10);
+ //
+ // if (project.getInfos().getFichierEtu() != null) {
+ // titreCommentaire2.setText(project.getInfos().getFichierEtu());
+ // }
+ // if (project.getInfos().getDirectories() != null) {
+ // path1_2.setText(project.getInfos().getDirectories().get(project.getInfos().FICHETUDES));
+ // path2_2.setText(project.getInfos().getDirectories().get(project.getInfos().RUNS));
+ // path3_2.setText(project.getInfos().getDirectories().get(project.getInfos().RAPPORTS));
+ // }
+ //
+ // infos.add(titreEtude1);
+ // infos.add(titreEtude2);
+ //
+ // infos.add(titreCommentaire);
+ // infos.add(titreCommentaire2);
+ //
+ // infos.add(path1);
+ // infos.add(path1_2);
+ //
+ // infos.add(path2);
+ // infos.add(path2_2);
+ //
+ // infos.add(path3);
+ // infos.add(path3_2);
+ //
+ // EbliActionSimple actionModifier = new EbliActionSimple(FCrueResource.getS("Valider"), FCrueResource.CRUE
+ // .getIcon("crystal_oui.png"), "VALIDER") {
+ //
+ // };
+ // infos.add(new JLabel());
+ // infos.add(actionModifier.buildButton(EbliComponentFactory.INSTANCE));
+ //
+ // return infos;
+ // }
+ public File getFichierEtu_() {
+ return fichierEtu_;
+ }
- infos.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Infos Etude")));
-
- JLabel titreEtude1 = new JLabel(FCrueResource.getS("Etude:"));
- JTextField titreEtude2 = new JTextField(fichierEtu_.getName(), 10);
- JLabel titreCommentaire = new JLabel(FCrueResource.getS("Commentaire:"));
- JTextField titreCommentaire2 = new JTextField(10);
-
- JLabel path1 = new JLabel(project.getInfos().FICHETUDES + ":");
- JTextField path1_2 = new JTextField(10);
- JLabel path2 = new JLabel(project.getInfos().RUNS + ":");
- JTextField path2_2 = new JTextField(10);
- JLabel path3 = new JLabel(project.getInfos().RAPPORTS + ":");
- JTextField path3_2 = new JTextField(10);
-
- if (project.getInfos().getFichierEtu() != null) {
- titreCommentaire2.setText(project.getInfos().getFichierEtu());
- }
- if (project.getInfos().getDirectories() != null) {
- path1_2.setText(project.getInfos().getDirectories().get(project.getInfos().FICHETUDES));
- path2_2.setText(project.getInfos().getDirectories().get(project.getInfos().RUNS));
- path3_2.setText(project.getInfos().getDirectories().get(project.getInfos().RAPPORTS));
- }
-
- infos.add(titreEtude1);
- infos.add(titreEtude2);
-
- infos.add(titreCommentaire);
- infos.add(titreCommentaire2);
-
- infos.add(path1);
- infos.add(path1_2);
-
- infos.add(path2);
- infos.add(path2_2);
-
- infos.add(path3);
- infos.add(path3_2);
-
- EbliActionSimple actionModifier = new EbliActionSimple(FCrueResource.getS("Valider"), FCrueResource.CRUE
- .getIcon("crystal_oui.png"), "VALIDER") {
-
- };
- infos.add(new JLabel());
- infos.add(actionModifier.buildButton(EbliComponentFactory.INSTANCE));
-
- return infos;
+ public CrueData getDataSources() {
+ return dataSources;
}
- public File getFichierEtu_() {
- return fichierEtu_;
+ public void setDataSources(CrueData dataSources) {
+ this.dataSources = dataSources;
}
}
Copied: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java (from rev 4730, trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ChargerScenario.java)
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java (rev 0)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java 2009-05-07 19:06:42 UTC (rev 4735)
@@ -0,0 +1,440 @@
+package org.fudaa.fudaa.crue.projet;
+
+import java.awt.event.ActionEvent;
+import java.util.List;
+
+import org.fudaa.ctulu.CtuluAnalyze;
+import org.fudaa.dodico.crue.io.Crue10FileFormatFactory;
+import org.fudaa.dodico.crue.io.Crue9FileFormatFactory;
+import org.fudaa.dodico.crue.io.common.CrueIOResu;
+import org.fudaa.dodico.crue.metier.EMHModeleBase;
+import org.fudaa.dodico.crue.metier.EMHScenario;
+import org.fudaa.dodico.crue.metier.FichierCrue;
+import org.fudaa.dodico.crue.metier.emh.CrueData;
+import org.fudaa.dodico.crue.metier.emh.CrueDataImpl;
+import org.fudaa.dodico.crue.metier.emh.DonCLimMScenario;
+import org.fudaa.dodico.crue.metier.emh.DonFrt;
+import org.fudaa.dodico.crue.metier.emh.Loi;
+import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario;
+import org.fudaa.dodico.crue.metier.emh.OrdPrtGeoModeleBase;
+import org.fudaa.dodico.crue.metier.emh.OrdResScenario;
+import org.fudaa.dodico.crue.metier.emh.ParamCalcScenario;
+import org.fudaa.dodico.crue.metier.emh.ParamNumModeleBase;
+import org.fudaa.ebli.commun.EbliActionSimple;
+import org.fudaa.fudaa.crue.common.CrueCommomImplementation;
+import org.fudaa.fudaa.crue.common.FCrueResource;
+
+/**
+ * Classe qui se charge de charger en memoire un scénario donné.
+ *
+ * @author Adrien Hadoux
+ */
+public class ScenarioLoader {
+ /**
+ * @author Adrien Hadoux
+ */
+ public static class CrueActionChargerScenario extends EbliActionSimple {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 7682734169100306919L;
+
+ EMHScenario scenario;
+ CrueData operationRes;
+ CrueProjet projet;
+ CrueCommomImplementation impl;
+
+ /**
+ * @param scenario
+ * @param projet
+ * @param impl
+ */
+ public CrueActionChargerScenario(EMHScenario scenario, CrueProjet projet) {
+ super(FCrueResource.getS("Charger Scénario en mémoire"), FCrueResource.CRUE.getIcon("crystal_ouvrir.png"),
+ "SCENARIOCHARGER");
+ this.projet = projet;
+ this.scenario = scenario;
+ this.impl = projet.getImpl();
+ }
+
+ public CrueData getOperationRes() {
+ return operationRes;
+ }
+
+ @Override
+ public void actionPerformed(ActionEvent _e) {
+ if (impl.question(FCrueResource.getS("Chargement"), FCrueResource
+ .getS("Etes-vous sur de vouloir charger ce scénario courant?"))) {
+ if (scenario != null) {
+ ScenarioLoader algo = new ScenarioLoader(projet, scenario);
+ operationRes = algo.compute();
+ }
+
+ }
+ }
+
+ }
+
+ EMHScenario scenario;
+
+ CrueProjet projet;
+
+ /**
+ * @param projet
+ * @param scenario
+ */
+ public ScenarioLoader(CrueProjet projet, EMHScenario scenario) {
+ super();
+ this.projet = projet;
+ this.scenario = scenario;
+ }
+
+ /**
+ * Realise le calcul.
+ *
+ * @return
+ */
+ public CrueData compute() {
+
+ projet.managerError.clear();
+ CtuluAnalyze analyzer = projet.managerError.getAnalyser();
+
+ // -- detection crue 9 ou 10 --//
+ if (scenario.getInfosVersions() != null && scenario.getInfosVersions().getType() != null) {
+
+ String type = scenario.getInfosVersions().getType().toUpperCase();
+
+ if (type.contains("9")) {
+ return computeCrue9();
+ } else {
+ return computeCrue10();
+ }
+
+ } else {
+ analyzer.addError("io.etu.typeNotDefined");
+ return null;
+ }
+
+ }
+
+ /**
+ * Calcul le scenario de type crue 9
+ *
+ * @return
+ */
+ public CrueData computeCrue9() {
+ CrueData res = new CrueDataImpl();
+ CtuluAnalyze analyzer = projet.managerError.getAnalyser();
+
+ // -- recuperation du fichier DC --//
+ if (scenario.getRunCourant() != null) {
+ // scenario.getRunCourant().setListeModelesRuns(listeModelesRuns)
+ // -- on charge les données DRSO du modele --//
+
+ res = ordonnanceChargementCrue9(scenario, analyzer);
+
+ }
+ projet.managerError.showDialog(projet.getImpl(), FCrueResource.getS("Résultats du Chargement scénario"));
+ return res;
+ }
+
+ /**
+ * calcul le scenario de type crue 10
+ *
+ * @return
+ */
+ public CrueData computeCrue10() {
+ CrueData res = null;
+ CtuluAnalyze analyzer = projet.managerError.getAnalyser();
+ if (scenario.getRunCourant() != null) {
+ // scenario.getRunCourant().setListeModelesRuns(listeModelesRuns)
+
+ // -- on charge les données DRSO du modele --//
+
+ res = ordonnanceChargementCrue10(scenario, analyzer);
+
+ } else {
+ analyzer.addError("compute.error.noCurrentRun");
+ }
+
+ projet.managerError.showDialog(projet.getImpl(), FCrueResource.getS("Résultats du Chargement scénario"));
+ return res;
+ }
+
+ /**
+ * Ordonnance le chargement d'un projet crue 10: sous modeles puis modeles puis scenarios
+ *
+ * @param scenario
+ * @return
+ */
+ private CrueData ordonnanceChargementCrue10(EMHScenario scenario, CtuluAnalyze analyzer) {
+ CrueData res = new CrueDataImpl();
+
+ // -- recherche des fichiers sous modeles --//
+ if (scenario.getGestionModele() == null || scenario.getGestionModele().getListeModeles() == null
+ || scenario.getGestionModele().getListeModeles().size() == 00) {
+ analyzer.addError("compute.error.noCurrentModeles");
+ return null;
+ }
+ for (EMHModeleBase modele : scenario.getGestionModele().getListeModeles()) {
+ if (modele.getListeSousModeles() == null || modele.getListeSousModeles().getListeModeles() == null
+ || modele.getListeSousModeles().getListeModeles().size() == 0) {
+ analyzer.addError("compute.error.noCurrentSousModeles");
+ return null;
+ }
+ // -- on charge en memoire le contenu des sous modeles --//
+
+ for (EMHModeleBase sousModele : modele.getListeSousModeles().getListeModeles()) {
+ // -- on charge le cinquor
+ // --Une liste fixe de fichiers de niveau sous-modèle : DRSO, DPTG, DFRT, DCSP
+ if (sousModele.getListeFichiersCrue() == null || sousModele.getListeFichiersCrue().size() >= 4) {
+
+ FichierCrue fichierDrso = sousModele.getListeFichiersCrue().get(0);
+ FichierCrue fichierDptg = sousModele.getListeFichiersCrue().get(1);
+ FichierCrue fichierDfrt = sousModele.getListeFichiersCrue().get(2);
+ FichierCrue fichierDcsp = sousModele.getListeFichiersCrue().get(3);
+
+ if (!fichierDrso.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDrso.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+ if (!fichierDptg.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDptg.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+ if (!fichierDfrt.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDfrt.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+ if (!fichierDcsp.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDcsp.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+
+ CrueData resVersion = Crue10FileFormatFactory.getDRSOFileFormat().read(fichierDrso.getFichier(), analyzer,
+ null);
+
+ if (resVersion == null) {
+ analyzer.addError("compute.error.drsoFailed", CtuluAnalyze.createMap("fichier", fichierDrso.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+
+ // -- lecture DFRT avant DPTG--//
+ final List<DonFrt> jeuDonnees = Crue10FileFormatFactory.getDFRTFileFormat().read(fichierDfrt.getFichier(),
+ analyzer, null);
+
+ resVersion.setFrottements(jeuDonnees);
+
+ // -- lecture DPTG a besoin de DFRT--//
+ Crue10FileFormatFactory.getDPTGFileFormat().read(fichierDptg.getFichier(), analyzer, resVersion);
+
+ // -- lecture DCSP --//
+ Crue10FileFormatFactory.getDCSPFileFormat().read(fichierDcsp.getFichier(), analyzer, resVersion);
+
+ // -- on fusionne les donnes res au res totaux --//
+ res.mergeWithAnotherCrueData(resVersion);
+
+ } else {
+ analyzer.addError("compute.error.notAnySousModelesFiles");
+ return null;
+ }
+
+ }
+
+ // -- on charge les fichiers de niveau modele--//
+ // Une liste fixe de fichiers de niveau modèle : (OPTR), OPTG, OPTI, PNUM, DPTI
+
+ if (modele.getListeFichiersCrue() == null || modele.getListeFichiersCrue().size() < 5) {
+ analyzer.addError("compute.error.notAnyModelesFiles");
+ return null;
+ }
+ // OPTR N'existe pas tant que le prétraitement réseau n'est pas opérationnel
+ FichierCrue fichierOPTR = modele.getListeFichiersCrue().get(0);
+ FichierCrue fichierOPTG = modele.getListeFichiersCrue().get(1);
+ FichierCrue fichierOPTI = modele.getListeFichiersCrue().get(2);
+ FichierCrue fichierPNUM = modele.getListeFichiersCrue().get(3);
+ FichierCrue fichierDPTI = modele.getListeFichiersCrue().get(4);
+
+ // if (!fichierOPTR.getFichier().exists()) {
+ // analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierOPTR.getFichier()
+ // .getAbsolutePath()));
+ // return null;
+ // }
+ if (!fichierOPTG.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierOPTG.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+ if (!fichierOPTI.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierOPTI.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+ if (!fichierPNUM.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierPNUM.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+ if (!fichierDPTI.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDPTI.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+
+ // - on ajoute les infos au cruedata
+
+ // DPTI
+ Crue10FileFormatFactory.getDPTIFileFormat().read(fichierDPTI.getFichier(), analyzer, res);
+
+ // OPTG
+ final OrdPrtGeoModeleBase data = Crue10FileFormatFactory.getOPTGFileFormat().read(fichierOPTG.getFichier(),
+ analyzer, null);
+ res.setPretraitementsGeom(data);
+
+ // PNUM
+ final ParamNumModeleBase dataPnum = Crue10FileFormatFactory.getPNUMFileFormat().read(fichierPNUM.getFichier(),
+ analyzer, null);
+ res.setParamNumModeleBase(dataPnum);
+
+ // OPTI
+ // TODO
+
+ // OPTR
+ // Attendre la version ok.
+
+ }
+
+ // -- on applique les fichier de niveau scenario --//
+ // Une liste fixe de fichiers de niveau scénario : OCAL, ORES, PCAL, DCLM, DLHY
+ FichierCrue fichierOCAL = scenario.getListeFichiersScenario().get(0);
+ FichierCrue fichierORES = scenario.getListeFichiersScenario().get(1);
+ FichierCrue fichierPCAL = scenario.getListeFichiersScenario().get(2);
+ FichierCrue fichierDCLM = scenario.getListeFichiersScenario().get(3);
+ FichierCrue fichierDLHY = scenario.getListeFichiersScenario().get(4);
+
+ if (!fichierOCAL.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierOCAL.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+ if (!fichierORES.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierORES.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+ if (!fichierPCAL.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierPCAL.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+ if (!fichierDCLM.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDCLM.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+ if (!fichierDLHY.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDLHY.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+
+ // -- lecture dlhy --//
+ final List<Loi> listeLois = Crue10FileFormatFactory.getDLHYFileFormat().read(fichierDLHY.getFichier(), analyzer,
+ res);
+
+ // -- ajout des lois de dlhy --//
+ res.setLois(listeLois);
+
+ // -- lecture de dclm --//
+ final DonCLimMScenario donCLimMScenario = Crue10FileFormatFactory.getDCLMFileFormat().read(
+ fichierDCLM.getFichier(), analyzer, res);
+ res.setConditionsLim(donCLimMScenario);
+
+ // OCAL
+ final OrdCalcScenario dataOCAL = Crue10FileFormatFactory.getOCALFileFormat().read(fichierOCAL.getFichier(),
+ analyzer, res);
+ res.setOrdCalc(dataOCAL);
+
+ // ORES
+ final OrdResScenario dataORES = Crue10FileFormatFactory.getORESFileFormat().read(fichierORES.getFichier(),
+ analyzer, null);
+ res.setOrdRes(dataORES);
+
+ // PCAL
+ final ParamCalcScenario dataPCAL = Crue10FileFormatFactory.getPCALFileFormat().read(fichierPCAL.getFichier(),
+ analyzer, null);
+ res.setParamCalc(dataPCAL);
+
+ return res;
+ }
+
+ /**
+ * Ordonnance le chargement d'un projet crue 10: sous modeles puis modeles puis scenarios
+ *
+ * @param scenario
+ * @return
+ */
+ private CrueData ordonnanceChargementCrue9(EMHScenario scenario, CtuluAnalyze analyzer) {
+ CrueData res = new CrueDataImpl();
+
+ // -- recherche des fichiers sous modeles --//
+ if (scenario.getGestionModele() == null || scenario.getGestionModele().getListeModeles() == null
+ || scenario.getGestionModele().getListeModeles().size() == 00) {
+ analyzer.addError("compute.error.noCurrentModeles");
+ return null;
+ }
+ for (EMHModeleBase modele : scenario.getGestionModele().getListeModeles()) {
+
+ // -- on charge les fichiers de niveau modele--//
+ // Une liste fixe de fichiers de niveau modèle :DC et DH
+
+ if (modele.getListeFichiersCrue() == null || modele.getListeFichiersCrue().size() < 2) {
+ analyzer.addError("compute.error.notAnyModelesFiles");
+ return null;
+ }
+ // OPTR N'existe pas tant que le prétraitement réseau n'est pas opérationnel
+ FichierCrue fichierDC = modele.getListeFichiersCrue().get(0);
+ FichierCrue fichierDH = modele.getListeFichiersCrue().get(1);
+
+ if (!fichierDC.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDC.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+ if (!fichierDH.getFichier().exists()) {
+ analyzer.addError("compute.error.fileNotExist", CtuluAnalyze.createMap("fichier", fichierDH.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+
+ // - on ajoute les infos au cruedata
+
+ // DC
+ final CrueIOResu<CrueData> resuPartiels = Crue9FileFormatFactory.getDCFileFormat().read(fichierDC.getFichier(),
+ analyzer, null);
+
+ if (resuPartiels == null) {
+ analyzer.addError("compute.error.dcFailed", CtuluAnalyze.createMap("fichier", fichierDC.getFichier()
+ .getAbsolutePath()));
+ return null;
+ }
+
+ // DH
+ CrueIOResu<CrueData> resu2 = Crue9FileFormatFactory.getDHFileFormat().read(fichierDH.getFichier(), analyzer,
+ resuPartiels.getMetier());
+
+ res = resu2.getMetier();
+
+ }
+
+ // -- on applique les fichier de niveau scenario --//
+
+ return res;
+ }
+
+}
Property changes on: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioLoader.java
___________________________________________________________________
Added: svn:mergeinfo
+
Added: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java (rev 0)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaver.java 2009-05-07 19:06:42 UTC (rev 4735)
@@ -0,0 +1,210 @@
+package org.fudaa.fudaa.crue.projet;
+
+import java.io.File;
+
+import org.fudaa.dodico.crue.io.Crue10FileFormatFactory;
+import org.fudaa.dodico.crue.io.Crue9FileFormatFactory;
+import org.fudaa.dodico.crue.io.common.CrueIOResu;
+import org.fudaa.dodico.crue.metier.EMHScenario;
+import org.fudaa.dodico.crue.metier.emh.CrueData;
+import org.fudaa.fudaa.crue.common.FCrueResource;
+
+/**
+ * Se charge de sauvegarder un scenario. Cette premiere version utilisee dans le lot 0 uniqument pour la generation de
+ * crue 9 en crue 10. Utilise un fichier modele et genere tous les fichier avec les bons suffixes.
+ *
+ * @author Adrien Hadoux
+ */
+public class ScenarioSaver {
+
+ String fichierModele;
+ EMHScenario scenarioToPersist;
+
+ CrueProjet projet;
+
+ public ScenarioSaver(String fichierModele, EMHScenario scenarioToPersist, CrueProjet projet) {
+ super();
+ this.fichierModele = fichierModele;
+ this.scenarioToPersist = scenarioToPersist;
+ this.projet = projet;
+ }
+
+ /**
+ * S'occupe de persister le scenario en crue 9.
+ *
+ * @return
+ */
+ public boolean generateInCrue9() {
+
+ File fileDc = new File(fichierModele + ".dc");
+
+ // -- generation DC --//
+ boolean ok = Crue9FileFormatFactory.getDCFileFormat().write(new CrueIOResu<CrueData>(projet.getDataSources()),
+ fileDc, projet.getManagerError().getAnalyser());
+
+ projet.getManagerError().getAnalyser().addInfo(
+ FCrueResource.getS("Fichier DC généré dans " + fileDc.getAbsolutePath()));
+
+ // -- generation DH --//
+
+ // TODO generation DH!!!
+
+ return ok;
+
+ }
+
+ /**
+ * S'occupe de persister le scenario en crue 10.
+ *
+ * @return
+ */
+ public boolean generateInCrue10() {
+
+ CrueData data = projet.getDataSources();
+
+ // TODO CAROLE implementer les prefixe
+ String prefixeModel = "MO";
+ String prefixeSousModel = "SMO";
+ String prefixeScenario = "S";
+
+ // -- generation DRSO --//
+ File fileDrso = new File(fichierModele + ".drso.xml");
+
+ boolean ok = Crue10FileFormatFactory.getDRSOFileFormat().write(data, fileDrso,
+ projet.getManagerError().getAnalyser());
+
+ projet.getManagerError().getAnalyser().addInfo(
+ FCrueResource.getS("Fichier DRSO généré dans " + fileDrso.getAbsolutePath()));
+
+ // -- generation DFRT --//
+ File fileDfrt = new File(fichierModele + ".dfrt.xml");
+
+ if (data.getFrottements() != null) {
+ ok = ok
+ && Crue10FileFormatFactory.getDFRTFileFormat().write(data.getFrottements(), fileDfrt,
+ projet.getManagerError().getAnalyser());
+
+ projet.getManagerError().getAnalyser().addInfo(
+ FCrueResource.getS("Fichier DFRT généré dans " + fileDfrt.getAbsolutePath()));
+ }
+
+ // -- DCSP --//
+ File fileDcsp = new File(fichierModele + ".dcsp.xml");
+
+ ok = ok
+ && Crue10FileFormatFactory.getDCSPFileFormat().write(data.getAllEMH(), fileDcsp,
+ projet.getManagerError().getAnalyser());
+
+ projet.getManagerError().getAnalyser().addInfo(
+ FCrueResource.getS("Fichier DCSP généré dans " + fileDcsp.getAbsolutePath()));
+
+ // -- DPTG --//
+ File fileDptg = new File(fichierModele + ".dptg.xml");
+
+ ok = ok
+ && Crue10FileFormatFactory.getDPTGFileFormat().write(data, fileDptg, projet.getManagerError().getAnalyser());
+
+ projet.getManagerError().getAnalyser().addInfo(
+ FCrueResource.getS("Fichier DPTG généré dans " + fileDptg.getAbsolutePath()));
+
+ // -- Niveau modele --//
+ // Une liste fixe de fichiers de niveau modèle : (OPTR), OPTG, OPTI, PNUM, DPTI, RPTR, RPTG, RPTI, RCAL, CPTR, CPTG,
+ // CPTI, CCAL, APTR, APTG, APTI, ACAL
+
+ // -- OPTG --//
+ if (data.getPretraitementsGeom() != null) {
+ File fileOptg = new File(fichierModele + ".optg.xml");
+
+ ok = ok
+ && Crue10FileFormatFactory.getOPTGFileFormat().write(data.getPretraitementsGeom(), fileOptg,
+ projet.getManagerError().getAnalyser());
+
+ projet.getManagerError().getAnalyser().addInfo(
+ FCrueResource.getS("Fichier OPTG généré dans " + fileOptg.getAbsolutePath()));
+ }
+
+ // - PNUM --//
+ if (data.getParamNumModeleBase() != null) {
+ File filePnum = new File(fichierModele + ".pnum.xml");
+
+ ok = ok
+ && Crue10FileFormatFactory.getPNUMFileFormat().write(data.getParamNumModeleBase(), filePnum,
+ projet.getManagerError().getAnalyser());
+
+ projet.getManagerError().getAnalyser().addInfo(
+ FCrueResource.getS("Fichier PNUM généré dans " + filePnum.getAbsolutePath()));
+ }
+
+ // - DPTI --//
+ File fileDpti = new File(fichierModele + ".dpti.xml");
+
+ ok = ok
+ && Crue10FileFormatFactory.getDPTIFileFormat().write(data, fileDpti, projet.getManagerError().getAnalyser());
+
+ projet.getManagerError().getAnalyser().addInfo(
+ FCrueResource.getS("Fichier DPTI généré dans " + fileDpti.getAbsolutePath()));
+
+ // -- niveau scenario Une liste fixe de fichiers de niveau scénario : OCAL, ORES, PCAL, DCLM, DLHY --//
+ // -- OCAL --//
+ if (data.getOrdCalc() != null) {
+ File fileOcal = new File(fichierModele + ".ocal.xml");
+
+ ok = ok
+ && Crue10FileFormatFactory.getOCALFileFormat().write(data.getOrdCalc(), fileOcal,
+ projet.getManagerError().getAnalyser());
+
+ projet.getManagerError().getAnalyser().addInfo(
+ FCrueResource.getS("Fichier OCAL généré dans " + fileOcal.getAbsolutePath()));
+ }
+
+ // -- ORES --//
+ if (data.getOrdRes() != null) {
+ File fileORES = new File(fichierModele + ".ores.xml");
+
+ ok = ok
+ && Crue10FileFormatFactory.getORESFileFormat().write(data.getOrdRes(), fileORES,
+ projet.getManagerError().getAnalyser());
+
+ projet.getManagerError().getAnalyser().addInfo(
+ FCrueResource.getS("Fichier ORES généré dans " + fileORES.getAbsolutePath()));
+ }
+ // -- PCAL --//
+ if (data.getParamCalc() != null) {
+ File filePCAL = new File(fichierModele + ".pcal.xml");
+
+ ok = ok
+ && Crue10FileFormatFactory.getPCALFileFormat().write(data.getParamCalc(), filePCAL,
+ projet.getManagerError().getAnalyser());
+
+ projet.getManagerError().getAnalyser().addInfo(
+ FCrueResource.getS("Fichier PCAL généré dans " + filePCAL.getAbsolutePath()));
+ }
+
+ // -- DLHY --//
+ if (data.getLois() != null) {
+ File fileDLHY = new File(fichierModele + ".dlhy.xml");
+
+ ok = ok
+ && Crue10FileFormatFactory.getDLHYFileFormat().write(data.getLois(), fileDLHY,
+ projet.getManagerError().getAnalyser());
+
+ projet.getManagerError().getAnalyser().addInfo(
+ FCrueResource.getS("Fichier DLHY généré dans " + fileDLHY.getAbsolutePath()));
+ }
+
+ // -- DCLM --//
+ if (data.getConditionsLim() != null) {
+ File fileDCLM = new File(fichierModele + ".dclm.xml");
+
+ ok = ok
+ && Crue10FileFormatFactory.getDCLMFileFormat().write(data.getConditionsLim(), fileDCLM,
+ projet.getManagerError().getAnalyser());
+
+ projet.getManagerError().getAnalyser().addInfo(
+ FCrueResource.getS("Fichier DCLM généré dans " + fileDCLM.getAbsolutePath()));
+ }
+
+ return ok;
+ }
+
+}
Deleted: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueComparaisonScenarioFille.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueComparaisonScenarioFille.java 2009-05-07 17:18:59 UTC (rev 4734)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueComparaisonScenarioFille.java 2009-05-07 19:06:42 UTC (rev 4735)
@@ -1,7 +0,0 @@
-package org.fudaa.fudaa.crue.view;
-
-import com.memoire.bu.BuInternalFrame;
-
-public class CrueComparaisonScenarioFille extends BuInternalFrame {
-
-}
Added: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheInfosGenerales.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheInfosGenerales.java (rev 0)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFicheInfosGenerales.java 2009-05-07 19:06:42 UTC (rev 4735)
@@ -0,0 +1,198 @@
+package org.fudaa.fudaa.crue.view;
+
+import java.awt.FlowLayout;
+import java.awt.GridLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JLabel;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+
+import org.fudaa.dodico.crue.metier.EMHProjectInfos;
+import org.fudaa.ebli.commun.EbliActionSimple;
+import org.fudaa.ebli.commun.EbliComponentFactory;
+import org.fudaa.fudaa.crue.common.CommomLib;
+import org.fudaa.fudaa.crue.common.FCrueResource;
+import org.fudaa.fudaa.crue.projet.CrueProjet;
+
+import com.memoire.bu.BuButton;
+import com.memoire.bu.BuInternalFrame;
+import com.memoire.bu.BuPanel;
+
+public class CrueFicheInfosGenerales extends BuInternalFrame {
+
+ CrueProjet projet;
+
+ public CrueFicheInfosGenerales(CrueProjet projet) {
+ super(FCrueResource.getS("Transformation Crue 9 <=> Crue 10"), true, true, true, true);
+ this.projet = projet;
+
+ initBuild();
+
+ }
+
+ /**
+ * Init la construction graphique.
+ */
+ public void initBuild() {
+
+ setSize(550, 260);
+ BuPanel infos = new BuPanel(new GridLayout(8, 2, 10, 0));
+ this.getContentPane().add(infos);
+
+ // infos.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Infos Etude")));
+ setTitle(FCrueResource.getS("Infos Etude"));
+
+ JLabel titreEtude1 = new JLabel(FCrueResource.getS("Etude:"));
+ final JTextField titreEtude2 = new JTextField(projet.getFichierEtu_().getName(), 20);
+ JLabel titreCommentaire = new JLabel(FCrueResource.getS("Commentaire:"));
+ final JTextArea titreCommentaire2 = new JTextArea(1, 20);
+
+ JLabel path1 = new JLabel(projet.getProject().getInfos().FICHETUDES + ":");
+ final JTextField path1_2 = new JTextField(15);
+ JLabel path2 = new JLabel(projet.getProject().getInfos().RUNS + ":");
+ final JTextField path2_2 = new JTextField(15);
+ JLabel path3 = new JLabel(projet.getProject().getInfos().RAPPORTS + ":");
+ final JTextField path3_2 = new JTextField(15);
+
+ if (projet.getProject().getInfos().getFichierEtu() != null) {
+ titreCommentaire2.setText(projet.getProject().getInfos().getFichierEtu());
+ }
+ if (projet.getProject().getInfos().getDirectories() != null) {
+ path1_2.setText(projet.getProject().getInfos().getDirectories().get(projet.getProject().getInfos().FICHETUDES));
+ path2_2.setText(projet.getProject().getInfos().getDirectories().get(projet.getProject().getInfos().RUNS));
+ path3_2.setText(projet.getProject().getInfos().getDirectories().get(projet.getProject().getInfos().RAPPORTS));
+ }
+
+ JLabel titredateCreation = new JLabel(FCrueResource.getS("Creation:"));
+ JLabel titredateCreation2 = new JLabel();
+ if (projet.getProject().getInfos().getInfosVersions() != null
+ && projet.getProject().getInfos().getInfosVersions().getDateCreation() != null) {
+ titredateCreation2.setText(projet.getProject().getInfos().getInfosVersions().getDateCreation());
+ }
+
+ JLabel auteurCreation = new JLabel(FCrueResource.getS("Auteur:"));
+ JLabel auteurCreation2 = new JLabel();
+ if (projet.getProject().getInfos().getInfosVersions() != null
+ && projet.getProject().getInfos().getInfosVersions().getAuteurDerniereModif() != null) {
+ auteurCreation2.setText(projet.getProject().getInfos().getInfosVersions().getAuteurDerniereModif());
+ }
+
+ infos.add(titreEtude1);
+ BuPanel pptitreEtude2 = new BuPanel(new FlowLayout(FlowLayout.LEFT));
+ pptitreEtude2.add(titreEtude2);
+ infos.add(pptitreEtude2);
+
+ infos.add(titredateCreation);
+ infos.add(titredateCreation2);
+ infos.add(auteurCreation);
+ infos.add(auteurCreation2);
+
+ infos.add(titreCommentaire);
+ BuPanel pptitreCommentaire2 = new BuPanel(new FlowLayout(FlowLayout.LEFT));
+ pptitreCommentaire2.add(titreCommentaire2);
+ titreCommentaire2.setDragEnabled(true);
+ infos.add(pptitreCommentaire2);
+
+ infos.ad...
[truncated message content] |