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