|
From: <de...@us...> - 2010-03-14 23:46:26
|
Revision: 5717
http://fudaa.svn.sourceforge.net/fudaa/?rev=5717&view=rev
Author: deniger
Date: 2010-03-14 23:46:20 +0000 (Sun, 14 Mar 2010)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrueBinaryReader.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRFactory.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPerm.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTrans.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/LitNumerote.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdCalcScenario.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResCalcul.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/DelegateValidatorEMHContentRelations.java
trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidatorForCrue9Export.java
trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties
trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java
trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java
Added Paths:
-----------
trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/metier/emh/TestResCal.java
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/ctulu/CtuluAnalyze.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -417,12 +417,13 @@
}
/**
- * Ajoute tous les canaux de l'analyse passee en parametres. Les pointeurs sont copi�es.
+ * Ajoute tous les canaux de l'analyse passee en parametres. Les pointeurs sont copiees.
*
* @param _analyze l'analyse a ajouter a celle-ci
*/
public void merge(final CtuluAnalyze _analyze) {
setDesc(_analyze.getDesc());
+ setDefaultResourceBundle(_analyze.getDefaultResourceBundle());
setResource(_analyze.getResource());
logs.addAll(_analyze.logs);
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrue9FileFormat.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -1,6 +1,5 @@
/**
- * Licence GPL
- * Copyright Genesis
+ * Licence GPL Copyright Genesis
*/
package org.fudaa.dodico.crue.io;
@@ -124,7 +123,7 @@
}
public boolean writeMetier(final CrueIOResu<CrueData> metier, final File f, final CtuluAnalyze analyzer) {
- analyzer.setDesc(f.getName());
+ analyzer.setDesc(IOMessages.getString("write.file", f.getName()));
final AbstractCrue9Writer writer = createWriter();
writer.setFile(f);
final CtuluIOOperationSynthese operation = writer.write(metier);
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/AbstractCrueBinaryFileFormat.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -1,6 +1,5 @@
/**
- * Licence GPL
- * Copyright Genesis
+ * Licence GPL Copyright Genesis
*/
package org.fudaa.dodico.crue.io;
@@ -53,6 +52,7 @@
public CrueIOResu<M> read(final File f, final CtuluAnalyze analyzer, final CrueData dataLinked) {
final AbstractCrueBinaryReader reader = createReader();
+ reader.setResourceBundle(analyzer.getDefaultResourceBundle());
reader.setDataLinked(dataLinked);
final CtuluIOOperationSynthese operation = reader.read(f, null);
CrueHelper.copyAnalyzer(analyzer, operation.getAnalyze());
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrueBinaryReader.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrueBinaryReader.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrueBinaryReader.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -40,7 +40,9 @@
@Override
public final void setFile(final File _f) {
file = _f;
- analyze_ = new CtuluAnalyze();
+ if (analyze_ == null) {
+ analyze_ = new CtuluAnalyze();
+ }
analyze_.setDesc(super.getOperationDescription(_f));
try {
in = new FileInputStream(file);
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -67,6 +67,7 @@
import org.fudaa.dodico.crue.metier.emh.EnumPositionSection;
import org.fudaa.dodico.crue.metier.emh.EnumRegle;
import org.fudaa.dodico.crue.metier.emh.EnumSensOrifice;
+import org.fudaa.dodico.crue.metier.emh.EnumTypeEMH;
import org.fudaa.dodico.crue.metier.emh.EnumTypeLoi;
import org.fudaa.dodico.crue.metier.emh.EvolutionFF;
import org.fudaa.dodico.crue.metier.emh.LitNomme;
@@ -1525,7 +1526,8 @@
private LoiFF createLoiQDz(final String idBranche) {
LoiFF newLoi = new LoiFF();
- newLoi.setNom(CruePrefix.changePrefix(idBranche, CruePrefix.P_BRANCHE, EnumTypeLoi.LoiQDz));
+ // newLoi.setNom(CruePrefix.changePrefix(idBranche, CruePrefix.P_BRANCHE, EnumTypeLoi.LoiQDz));
+ newLoi.setNom(CruePrefix.addPrefixs(idBranche, EnumTypeLoi.LoiQDz, EnumTypeEMH.BRANCHE));
newLoi.setType(EnumTypeLoi.LoiQDz);
newLoi.setEvolutionFF(new EvolutionFF(new ArrayList<PtEvolutionFF>()));
// dataLinked.getLoiConteneur().addLois(newLoi);
@@ -1534,7 +1536,8 @@
private LoiFF createLoiQpilZam(final String idBranche) {
LoiFF newLoi = new LoiFF();
- newLoi.setNom(CruePrefix.changePrefix(idBranche, CruePrefix.P_BRANCHE, EnumTypeLoi.LoiQpilZam));
+ // newLoi.setNom(CruePrefix.changePrefix(idBranche, CruePrefix.P_BRANCHE, EnumTypeLoi.LoiQpilZam));
+ newLoi.setNom(CruePrefix.addPrefixs(idBranche, EnumTypeLoi.LoiQpilZam, EnumTypeEMH.BRANCHE));
newLoi.setType(EnumTypeLoi.LoiQpilZam);
newLoi.setEvolutionFF(new EvolutionFF(new ArrayList<PtEvolutionFF>()));
// dataLinked.getLoiConteneur().addLois(newLoi);
@@ -1543,7 +1546,7 @@
private LoiFF createLoiZavZam(final String idBranche) {
final LoiFF newLoi = new LoiFF();
- newLoi.setNom(CruePrefix.addPrefixIfNeeded(idBranche, EnumTypeLoi.LoiZavZam));
+ newLoi.setNom(CruePrefix.addPrefixs(idBranche, EnumTypeLoi.LoiZavZam, EnumTypeEMH.BRANCHE));
newLoi.setEvolutionFF(new EvolutionFF(new ArrayList<PtEvolutionFF>()));
newLoi.setType(EnumTypeLoi.LoiZavZam);
// dataLinked.getLoiConteneur().addLois(newLoi);
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DHReader.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -63,6 +63,7 @@
import org.fudaa.dodico.crue.metier.emh.ElemPdt;
import org.fudaa.dodico.crue.metier.emh.EnumMethodeInterpolation;
import org.fudaa.dodico.crue.metier.emh.EnumSensOuv;
+import org.fudaa.dodico.crue.metier.emh.EnumTypeEMH;
import org.fudaa.dodico.crue.metier.emh.EnumTypeLoi;
import org.fudaa.dodico.crue.metier.emh.EnumVerbosite;
import org.fudaa.dodico.crue.metier.emh.EvolutionFF;
@@ -1506,7 +1507,7 @@
final DonLoiHYConteneur dlhy = res.getLoiConteneur();
final List<EMHBrancheSaintVenant> branches = res.getBranchesSaintVenant();
- final String nomLoi = CruePrefix.addPrefixIfNeeded("1", EnumTypeLoi.LoiTQruis);
+ final String nomLoi = CruePrefix.addPrefixs("1", EnumTypeLoi.LoiTQruis, EnumTypeEMH.BRANCHE);
final LoiDF loiDF = new LoiDF();
LoiFactory.alimenteDebutLoiDF(loiDF, nomLoi, EnumTypeLoi.LoiTQruis);
loiDF.setEvolutionFF(evolutionFF);
@@ -1572,7 +1573,7 @@
if (nncTrans instanceof CalcTransNoeudNiveauContinuQapp) {
- nomLoi = CruePrefix.addPrefixIfNeeded(nomEmh, EnumTypeLoi.LoiTQapp);
+ nomLoi = CruePrefix.addPrefixs(nomEmh, EnumTypeLoi.LoiTQapp, EnumTypeEMH.NOEUD);
final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois());
if (loi == null) {
final LoiDF loiDF = new LoiDF();
@@ -1588,7 +1589,7 @@
} else if (nncTrans instanceof CalcTransNoeudNiveauContinuLimnigramme) {
- nomLoi = CruePrefix.addPrefixIfNeeded(nomEmh, EnumTypeLoi.LoiTZ);
+ nomLoi = CruePrefix.addPrefixs(nomEmh, EnumTypeLoi.LoiTZ, EnumTypeEMH.NOEUD);
final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois());
if (loi == null) {
final LoiDF loiDF = new LoiDF();
@@ -1604,7 +1605,7 @@
} else if (nncTrans instanceof CalcTransNoeudNiveauContinuTarage) {
- nomLoi = CruePrefix.addPrefixIfNeeded(nomEmh, EnumTypeLoi.LoiQZ);
+ nomLoi = CruePrefix.addPrefixs(nomEmh, EnumTypeLoi.LoiQZ, EnumTypeEMH.NOEUD);
final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois());
if (loi == null) {
final LoiFF loiFF = new LoiFF();
@@ -1639,7 +1640,7 @@
if (brancheOrManoeuvre.getNomCalculParent() != null
&& brancheOrManoeuvre.getNomCalculParent().equals(calcTrans.getNom())) {
- nomLoi = CruePrefix.addPrefix(nomEmh, EnumTypeLoi.LoiTOuv, brancheOrManoeuvre.getSensOuv());
+ nomLoi = CruePrefix.addPrefixs(nomEmh, EnumTypeLoi.LoiTOuv, EnumTypeEMH.BRANCHE);
final Loi loi = LoiHelper.findByReference(nomLoi, dlhy.getLois());
if (loi == null) {
final LoiDF loiDF = new LoiDF();
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/FCBReader.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -26,7 +26,7 @@
@Override
protected FCBSequentialReader internalReadResu() throws IOException {
final FCBSequentialReader infos = new FCBSequentialReader(file);
- // le premier entier doit etre 800.
+ // le premier entier doit etre sizeTitre*10.
// cette premiere partie est un procede pour savoir si on est en little ou big endian.
// on sait que le premier entier doit etre 800; soit la longueur des 10 commentaires comportant
// 256 caractères.
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRFactory.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRFactory.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/STRFactory.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -11,6 +11,7 @@
import org.fudaa.dodico.crue.metier.emh.DonFrt;
import org.fudaa.dodico.crue.metier.emh.DonFrtStrickler;
import org.fudaa.dodico.crue.metier.emh.EnumLitPosition;
+import org.fudaa.dodico.crue.metier.emh.EnumTypeEMH;
import org.fudaa.dodico.crue.metier.emh.EnumTypeLoi;
import org.fudaa.dodico.crue.metier.emh.LoiFF;
import org.fudaa.dodico.crue.metier.emh.ResPrtData;
@@ -194,7 +195,8 @@
private static LoiFF getLoiFFDeZRPTG(final float[] abscissesZ, final float[] ordonnees, final String nomLoi,
final EnumTypeLoi type) {
- return LoiFactory.getLoiFFRPTG(abscissesZ, ordonnees, CruePrefix.addPrefixIfNeeded(nomLoi, type), type);
+ return LoiFactory.getLoiFFRPTG(abscissesZ, ordonnees, CruePrefix.addPrefixs(nomLoi, type, EnumTypeEMH.SECTION),
+ type);
}
/**
@@ -208,7 +210,7 @@
final ResPrtData data = new ResPrtData();
data.setData(ordonnees);
- data.setNom(CruePrefix.addPrefixIfNeeded(nomData, loi));
+ data.setNom(CruePrefix.addPrefixs(nomData, loi, EnumTypeEMH.SECTION));
return data;
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -44,6 +44,8 @@
return id;
}
+ public abstract boolean isUsed(CalcPseudoPermItem item);
+
/**
* @param newNom
* @pdOid 8c14d9ec-55e6-4022-aa1c-6db8de2aaac5
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPerm.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPerm.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcPseudoPerm.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -1,7 +1,5 @@
/***********************************************************************
- * Module: CalcPseudoPerm.java
- * Author: deniger
- * Purpose: Defines the Class CalcPseudoPerm
+ * Module: CalcPseudoPerm.java Author: deniger Purpose: Defines the Class CalcPseudoPerm
***********************************************************************/
package org.fudaa.dodico.crue.metier.emh;
@@ -56,6 +54,15 @@
return res;
}
+ public boolean isUsed(CalcPseudoPermItem item) {
+ if (getCalcPseudoPermBrancheOrificeManoeuvre().contains(item)) { return true; }
+ if (getCalcPseudoPermBrancheSaintVenantQruis().contains(item)) { return true; }
+ if (getCalcPseudoPermCasierProfilQruis().contains(item)) { return true; }
+ if (getCalcPseudoPermNoeudNiveauContinuQapp().contains(item)) { return true; }
+ if (getCalcPseudoPermNoeudNiveauContinuZimpose().contains(item)) { return true; }
+ return false;
+ }
+
/** @pdGenerated default iterator getter */
public java.util.Iterator getIteratorCalcPseudoPermBrancheOrificeManoeuvre() {
if (calcPseudoPermBrancheOrificeManoeuvre == null) {
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTrans.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTrans.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/CalcTrans.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -1,7 +1,5 @@
/***********************************************************************
- * Module: CalcTrans.java
- * Author: deniger
- * Purpose: Defines the Class CalcTrans
+ * Module: CalcTrans.java Author: deniger Purpose: Defines the Class CalcTrans
***********************************************************************/
package org.fudaa.dodico.crue.metier.emh;
@@ -54,6 +52,18 @@
return res;
}
+ @Override
+ public boolean isUsed(CalcPseudoPermItem item) {
+ if (getCalcTransBrancheOrificeManoeuvre().contains(item)) { return true; }
+ if (getCalcTransBrancheSaintVenantQruis().contains(item)) { return true; }
+ if (getCalcTransCasierProfilQruis().contains(item)) { return true; }
+ if (getCalcTransNoeudNiveauContinuLimnigramme().contains(item)) { return true; }
+ if (getCalcTransNoeudNiveauContinuQapp().contains(item)) { return true; }
+ if (getCalcTransNoeudNiveauContinuTarage().contains(item)) { return true; }
+ return false;
+
+ }
+
/** @pdGenerated default getter */
public java.util.Collection<CalcTransBrancheOrificeManoeuvre> getCalcTransBrancheOrificeManoeuvre() {
if (calcTransBrancheOrificeManoeuvre == null) {
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/DonFrt.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -1,5 +1,8 @@
package org.fudaa.dodico.crue.metier.emh;
+import java.util.HashSet;
+import java.util.Set;
+
/** @pdOid 1d6a1d10-07d3-4240-bc8e-bfd128f024fc */
public abstract class DonFrt implements ObjetNomme {
/** @pdOid e7467b8c-41bd-4ab3-8353-e40fa95b3a51 */
@@ -20,6 +23,25 @@
return nom;
}
+ private Set<LitNumerote> users;
+
+ public void register(LitNumerote user) {
+ if (users == null) {
+ users = new HashSet<LitNumerote>();
+ }
+ users.add(user);
+ }
+
+ public void unregister(LitNumerote litNumerote) {
+ if (litNumerote != null) {
+ users.remove(litNumerote);
+ }
+ }
+
+ public boolean getUsed() {
+ return users != null && !users.isEmpty();
+ }
+
/**
* @param newNom
* @pdOid 7cfc0494-2ac8-4d3e-9dde-924339296844
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/LitNumerote.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/LitNumerote.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/LitNumerote.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -75,7 +75,13 @@
* @param newDonFrt
*/
public void setFrot(DonFrt newDonFrt) {
+ if (frot != null) {
+ frot.unregister(this);
+ }
this.frot = newDonFrt;
+ if (frot != null) {
+ frot.register(this);
+ }
}
/** @pdOid 5bc12552-3b39-449f-b54a-8affa84fa3cf */
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdCalcScenario.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdCalcScenario.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdCalcScenario.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -17,6 +17,13 @@
return EnumInfosEMH.ORD_CALC_SCENARIO;
}
+ public final boolean isUsed(Calc calc) {
+ for (OrdCalc c : getOrdCalc()) {
+ if (c.getCalc() == calc) { return true; }
+ }
+ return false;
+ }
+
/** @pdGenerated default getter */
public java.util.List<OrdCalc> getOrdCalc() {
if (ordCalc == null) {
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResCalcul.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResCalcul.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/emh/ResCalcul.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -1,8 +1,103 @@
package org.fudaa.dodico.crue.metier.emh;
+import java.beans.PropertyDescriptor;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.commons.beanutils.PropertyUtils;
+import org.apache.commons.lang.StringUtils;
+
/**
* @author deniger
*/
public abstract class ResCalcul {
+ public static boolean isVisible(Class resClass, String prop, OrdResScenario ordRes) {
+
+ // ordRes.getOrdResBrancheBarrageFilEau()
+ try {
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return false;
+ }
+
+ public static Map<String, Boolean> retrieveOrdres(Class resClass, OrdResScenario ordRes) {
+ String thisName = resClass.getSimpleName();
+ String method = StringUtils.replaceOnce(thisName, "ResCal", "ordRes");
+ try {
+ OrdRes property = (OrdRes) PropertyUtils.getProperty(ordRes, method);
+ PropertyDescriptor[] describe = PropertyUtils.getPropertyDescriptors(resClass);
+ Map<String, Boolean> res = new HashMap<String, Boolean>();
+ for (int i = 0; i < describe.length; i++) {
+
+ PropertyDescriptor propertyDescriptor = describe[i];
+ String name = propertyDescriptor.getName();
+ if ("class".equals(name)) {
+ continue;
+ }
+ if (property == null) {
+ res.put(name, Boolean.FALSE);
+ } else {
+ String propInOrd = "dde" + StringUtils.capitalize(name);
+ propInOrd = StringUtils.removeEnd(propInOrd, "Min");
+ propInOrd = StringUtils.removeEnd(propInOrd, "Maj");
+ propInOrd = StringUtils.removeEnd(propInOrd, "Sto");
+ try {
+ res.put(name, ((Boolean) PropertyUtils.getProperty(property, propInOrd)).booleanValue());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ return res;
+ } catch (Exception e) {
+ e.printStackTrace();
+
+ }
+ return Collections.emptyMap();
+
+ }
+
+ public static Set<String> getOrdresProps(Class resClass, OrdResScenario ordRes) {
+ String thisName = resClass.getSimpleName();
+ String method = StringUtils.replaceOnce(thisName, "ResCal", "ordRes");
+ try {
+ OrdRes property = (OrdRes) PropertyUtils.getProperty(ordRes, method);
+ PropertyDescriptor[] describe = PropertyUtils.getPropertyDescriptors(resClass);
+ Set<String> res = new HashSet<String>();
+ for (int i = 0; i < describe.length; i++) {
+
+ PropertyDescriptor propertyDescriptor = describe[i];
+ String name = propertyDescriptor.getName();
+ if ("class".equals(name)) {
+ continue;
+ }
+ if (property != null) {
+ String propInOrd = "dde" + StringUtils.capitalize(name);
+ propInOrd = StringUtils.removeEnd(propInOrd, "Min");
+ propInOrd = StringUtils.removeEnd(propInOrd, "Maj");
+ propInOrd = StringUtils.removeEnd(propInOrd, "Sto");
+ try {
+ boolean value = ((Boolean) PropertyUtils.getProperty(property, propInOrd)).booleanValue();
+ if (value) {
+ res.add(name);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ return res;
+ } catch (Exception e) {
+ e.printStackTrace();
+
+ }
+ return Collections.emptySet();
+
+ }
}
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -9,7 +9,6 @@
import java.util.List;
import java.util.Locale;
-import org.apache.commons.lang.StringUtils;
import org.fudaa.dodico.crue.io.common.CrueData;
import org.fudaa.dodico.crue.metier.emh.CatEMHBranche;
import org.fudaa.dodico.crue.metier.emh.CatEMHCasier;
@@ -24,6 +23,7 @@
import org.fudaa.dodico.crue.metier.emh.EMHSectionInterpolee;
import org.fudaa.dodico.crue.metier.emh.EMHSectionSansGeometrie;
import org.fudaa.dodico.crue.metier.emh.EnumPositionSection;
+import org.fudaa.dodico.crue.metier.emh.EnumTypeEMH;
import org.fudaa.dodico.crue.metier.emh.EnumTypeLoi;
import org.fudaa.dodico.crue.metier.emh.EvolutionFF;
import org.fudaa.dodico.crue.metier.emh.LoiFF;
@@ -115,18 +115,17 @@
final List<PtEvolutionFF> listePoints = new ArrayList<PtEvolutionFF>();
listeEvolution.setPtEvolutionFF(listePoints);
final LoiFF newLoi = new LoiFF();
- final String brancheNom = getBrancheNomWithoutPrefix(idBranche);
- newLoi.setNom(CruePrefix.addPrefixIfNeeded(brancheNom, EnumTypeLoi.LoiQPdc));
+ newLoi.setNom(CruePrefix.addPrefixs(idBranche, EnumTypeLoi.LoiQPdc, EnumTypeEMH.BRANCHE));
newLoi.setEvolutionFF(listeEvolution);
newLoi.setType(EnumTypeLoi.LoiQPdc);
dataDCSP.setLoiQPdc(newLoi);
return dataDCSP;
}
- public static String getBrancheNomWithoutPrefix(final String idBranche) {
- return idBranche.startsWith(CruePrefix.P_BRANCHE) ? StringUtils.substringAfter(idBranche, CruePrefix.P_BRANCHE)
- : idBranche;
- }
+ // public static String getBrancheNomWithoutPrefix(final String idBranche) {
+ // return idBranche.startsWith(CruePrefix.P_BRANCHE) ? StringUtils.substringAfter(idBranche, CruePrefix.P_BRANCHE)
+ // : idBranche;
+ // }
public static OrdPrtCIniModeleBase createOPTI() {
return new OrdPrtCIniModeleBase();
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioExporterCrue9.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -1,10 +1,12 @@
package org.fudaa.dodico.crue.projet;
import java.io.File;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.commons.lang.StringUtils;
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.CtuluLibFile;
import org.fudaa.dodico.crue.common.CrueErrorManager;
@@ -14,7 +16,14 @@
import org.fudaa.dodico.crue.io.common.CrueFileType;
import org.fudaa.dodico.crue.io.common.IOMessages;
import org.fudaa.dodico.crue.metier.ManagerEMHScenario;
+import org.fudaa.dodico.crue.metier.emh.Calc;
+import org.fudaa.dodico.crue.metier.emh.CalcTrans;
import org.fudaa.dodico.crue.metier.emh.CatEMHActivable;
+import org.fudaa.dodico.crue.metier.emh.DonCLimMScenario;
+import org.fudaa.dodico.crue.metier.emh.DonLoiHYConteneur;
+import org.fudaa.dodico.crue.metier.emh.Loi;
+import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario;
+import org.fudaa.dodico.crue.metier.helper.EMHHelper;
/**
* Exporte les données au format crue neuf. Il est possible de définir les formats à exporter.
@@ -51,6 +60,32 @@
CtuluAnalyze log = new CtuluAnalyze(IOMessages.RESOURCE_BUNDLE);
addWarn(crueData.getBranches(), log, "dc.brancheInactive");
addWarn(crueData.getCasiers(), log, "dc.casierInactive");
+
+ OrdCalcScenario ordCalc = crueData.getOrdCalc();
+ DonCLimMScenario conditionsLim = crueData.getConditionsLim();
+ List<String> unused = new ArrayList<String>();
+ for (Calc calc : conditionsLim.getCalc()) {
+ if (!ordCalc.isUsed(calc)) {
+ unused.add(calc.getId());
+ }
+ }
+ if (!unused.isEmpty()) {
+ log.addWarn("dh.dclm.unused", StringUtils.join(unused, ", "));
+ }
+ final List<CalcTrans> calcsTrans = EMHHelper.collectCalcTrans(ordCalc.getOrdCalc());
+ if (calcsTrans.size() > 1) {
+ log.addWarn("crue9.compatible.calcTransMoreThanOne");
+ }
+ DonLoiHYConteneur loiConteneur = crueData.getLoiConteneur();
+ unused.clear();
+ for (Loi loi : loiConteneur.getLois()) {
+ if (!loi.getUsed()) {
+ unused.add(loi.getId());
+ }
+ }
+ if (!unused.isEmpty()) {
+ log.addWarn("dh.loi.unused", StringUtils.join(unused, ", "));
+ }
if (!log.isEmpty()) {
log.setDesc(IOMessages.getString("io.test.inactif"));
error.addAnalyzer(log);
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/CruePrefix.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -23,7 +23,6 @@
import org.fudaa.dodico.crue.metier.emh.DonPrtGeoProfilSection;
import org.fudaa.dodico.crue.metier.emh.EMH;
import org.fudaa.dodico.crue.metier.emh.EMHCasierProfil;
-import org.fudaa.dodico.crue.metier.emh.EnumSensOuv;
import org.fudaa.dodico.crue.metier.emh.EnumTypeEMH;
import org.fudaa.dodico.crue.metier.emh.EnumTypeLoi;
import org.fudaa.dodico.crue.metier.emh.LitNomme;
@@ -190,15 +189,12 @@
* @param sensOuv le sens d'ouverture
* @return le nom change
*/
- public static String addPrefix(String nom, EnumTypeLoi loi, EnumSensOuv sensOuv) {
- return changePrefix(nom, null, getPrefix(loi) + (sensOuv == EnumSensOuv.OUV_VERS_HAUT ? "VERSHAUT" : "VERSBAS"));
+ public static String addPrefix(String nom, EnumTypeLoi loi) {
+ return changePrefix(nom, null, getPrefix(loi));
}
- public static String addPrefixIfNeeded(final String init, final EnumTypeLoi typeLoi) {
- if (init == null) { return null; }
- final String pref = getPrefix(typeLoi);
- if (init.startsWith(pref)) { return init; }
- return addPrefix(pref, init);
+ public static String addPrefixs(String nomEMH, EnumTypeLoi loi, EnumTypeEMH typeEMH) {
+ return changePrefix(getNomAvecPrefixFor(nomEMH, typeEMH), null, getPrefix(loi));
}
/**
@@ -218,6 +214,16 @@
return getNomAvecPrefixe(prefix, emh.getNom());
}
+ public static String getNomAvecPrefixForBranche(final String nom) {
+ return getNomAvecPrefixFor(nom, EnumTypeEMH.BRANCHE);
+ }
+
+ public static String getNomAvecPrefixFor(final String nom, EnumTypeEMH type) {
+ if (nom == null) { return null; }
+ final String prefix = ENUM_PREFIX.get(type);
+ return getNomAvecPrefixe(prefix, nom);
+ }
+
private static String getPrefixFor(final EMH emh) {
final String prefix = ENUM_PREFIX.get(emh.getCatType());
return prefix;
@@ -313,7 +319,7 @@
* @param nomInitial le nom intial
* @return le nom transforme.
*/
- private static String getNomAvecPrefixe(final String prefixe, final String nomInitialNonClean) {
+ public static String getNomAvecPrefixe(final String prefixe, final String nomInitialNonClean) {
// pas de nom initial: on ne fait rien
if (nomInitialNonClean == null) { return null; }
final String nomInitial = cleanNom(nomInitialNonClean);
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/DelegateValidatorEMHContentRelations.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/DelegateValidatorEMHContentRelations.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/DelegateValidatorEMHContentRelations.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -145,7 +145,7 @@
List<RelationEMHBrancheContientSection> relation = new ArrayList<RelationEMHBrancheContientSection>();
CollectionUtils.select(emh.getRelationEMH(), predicateRelationEMHContientEMHOfClass, relation);
if (relation.size() == 0) {
- emhLog.addFatalError("validation.section.NotContainedByBranche", emh.getId());
+ emhLog.addInfo("validation.section.NotContainedByBranche", emh.getId());
} else if (relation.size() > 1) {
Collection select = CollectionUtils.select(emh.getRelationEMH(),
new EMHHelperPredicate.PredicateRelationWithEMHActivated());
Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidatorForCrue9Export.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidatorForCrue9Export.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/validation/ValidatorForCrue9Export.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -132,9 +132,6 @@
private void validateTQruis(List<CalcTrans> calcTrans) {
if (CollectionUtils.isEmpty(calcTrans)) { return; }
- if (calcTrans.size() > 1) {
- addMessage("crue9.compatible.calcTransMoreThanOne");
- }
final Collection<CalcTransBrancheSaintVenantQruis> listeBranchesSV = calcTrans.get(0)
.getCalcTransBrancheSaintVenantQruis();
if (CollectionUtils.isEmpty(listeBranchesSV)) { return; }
Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties 2010-03-14 23:46:20 UTC (rev 5717)
@@ -119,5 +119,4 @@
validation.branche.cantContainsSameSection=La section {0} est utilis\xE9e {1} fois dans la branche.
validation.section.NotContainedByBranche=La section {0} doit \xEAtre appartenir \xE0 au moins une branche
validation.section.containedByMaxOneActiveBranche=La section {0} doit appartenir \xE0 au plus une branche active. Les branches l''utilisant sont {1}
-crue9.compatible.calcTransMoreThanOne=Le sc\xE9nario contient plus d'un calcul transitoire. Seul le premier sera exporter en crue 9.
crue9.compatible.calcTransMoreThanLoiTQruis=Le sc\xE9nario contient des lois LoiTQruis diff\xE9rentes. Crue 9 utilisera la premi\xE8re loi rencontr\xE9e.
Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/ioMessages.properties 2010-03-14 23:46:20 UTC (rev 5717)
@@ -1,14 +1,16 @@
#Mettre les traductions ici
#Ne pas faire attention aux accents les laisser mais ne pas les traduire en UTF-8
-Test = Test
+crue.io.fcb.notValid = Le fichier FCB n'est pas valide: l'ent\xEAte ne correspond pas et ne poss\xE8de pas 10 lignes de 256 caract\xE8res.
+crue.io.sto.notValid = Le fichier STO n'est pas valide
+crue.io.str.notValid = Le fichier STR n'est pas valide
+
crue.noeud.notExist.forCasier=Le noeud {0} n''est pas d\xE9fini alors qu'il est utilis\xE9 par le casier {1}
crue.noeud.notExist.forBranche.amont=Le noeud {0} n''est pas d\xE9fini alors qu''il est utilis\xE9 comme noeud amont de la branche {1}
crue.noeud.notExist.forBranche.aval=Le noeud {0} n''est pas d\xE9fini alors qu''il est utilis\xE9 comme noeud aval de la branche {1}
-crue.io.fcb.notValid = Le fichier FCB n''est pas valide
-crue.io.sto.notValid = Le fichier STO n''est pas valide
-crue.io.str.notValid = Le fichier STR n''est pas valide
+dh.dclm.unused=Les calculs suivants ne seront pas export\xE9s car ils ne sont pas utilis\xE9s:{0}
+dh.loi.unused=Les lois suivantes ne seront pas export\xE9es car elles ne sont pas utilis\xE9es:{0}
dc.dvers.ignored = Ligne {0}: la section {1} contient une carte DVERS qui ne sera pas prise en compte
dc.digue.ignored = Ligne {0}: la section {1} contient une carte DIGUE qui ne sera pas prise en compte
dc.limDeb.NotFound = La limite d\u00E9but du lit num\u00E9rot\u00E9 {1} de la section {0} n''a pas \u00E9t\u00E9 trouv\u00E9e dans la liste des points profil.
@@ -24,6 +26,7 @@
io.dc.carteNotRecognized=Ligne {0}: la carte {1} n''est pas reconnue.
dcsp.tooMuchDonForCasier = Le casier {0} poss\u00E8de trop de DonCalcSansPrtCasierProfil
+crue9.compatible.calcTransMoreThanOne=Le sc\xE9nario contient plus d'un calcul transitoire. Seul le premier sera exporter en crue 9.
dh.coeff.diff.trans.perm = Le coefficient {0} a une valeur diff\u00E9rente entre le calcul pseudo-permanent et transitoire. La valeur du calcul transitoire est conserv\u00E9e
@@ -200,6 +203,7 @@
load.str = Chargement du fichier STR
read.file = Lecture du fichier {0}
+write.file = Ecriture du fichier {0}
valid.xml = Validation du fichier {0}
Added: trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/metier/emh/TestResCal.java
===================================================================
--- trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/metier/emh/TestResCal.java (rev 0)
+++ trunk/soft/fudaa-crue/dodico/src/test/java/org/fudaa/dodico/crue/metier/emh/TestResCal.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -0,0 +1,22 @@
+package org.fudaa.dodico.crue.metier.emh;
+
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+public class TestResCal extends TestCase {
+
+ public void testOrd() {
+ OrdResScenario ord = new OrdResScenario();
+ ord.setOrdResBrancheSaintVenant(new OrdResBrancheSaintVenant());
+ ord.getOrdResBrancheSaintVenant().setDdeSplan(true);
+ Map<String, Boolean> retrieveOrdres = ResCalcul.retrieveOrdres(ResCalBrancheSaintVenant.class, ord);
+ assertNotNull(retrieveOrdres);
+ assertEquals(5, retrieveOrdres.size());
+ // {vol=false, splanSto=true, splanMaj=true, qlat=false, splanMin=true}
+ assertTrue(retrieveOrdres.get("splanMaj"));
+ assertTrue(retrieveOrdres.get("splanMin"));
+ assertTrue(retrieveOrdres.get("splanSto"));
+ }
+
+}
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -76,8 +76,8 @@
infoCrue_.banner = new BuIcon(pathLogo);
// infoCrue_.logo = new BuIcon(pathLogo);
infoCrue_.name = "Fudaa-Crue";
- infoCrue_.version = "0.20";
- infoCrue_.date = "08-Mars-2010";
+ infoCrue_.version = "0.21";
+ infoCrue_.date = "15-Mars-2010";
infoCrue_.rights = "";
infoCrue_.contact = "fu...@ge...";
infoCrue_.license = "GPL2";
Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java
===================================================================
--- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java 2010-03-14 20:54:39 UTC (rev 5716)
+++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleEMH.java 2010-03-14 23:46:20 UTC (rev 5717)
@@ -54,6 +54,7 @@
import org.fudaa.dodico.crue.metier.emh.EnumTypeLoi;
import org.fudaa.dodico.crue.metier.emh.Loi;
import org.fudaa.dodico.crue.metier.emh.LoiDF;
+import org.fudaa.dodico.crue.metier.emh.OrdResScenario;
import org.fudaa.dodico.crue.metier.emh.PtEvolutionFF;
import org.fudaa.dodico.crue.metier.emh.PtProfil;
import org.fudaa.dodico.crue.metier.emh.ResCalcul;
@@ -348,13 +349,16 @@
final CtuluUI ui;
final List<String> props = new ArrayList<String>();
final List<Object> values = new ArrayList<Object>();
+ List<String> visibleProps;
+ final OrdResScenario ordRes;
/**
* @param val
*/
- public ResultatModel(final ResultatCalcul val, final CtuluUI ui) {
+ public ResultatModel(final ResultatCalcul val, final CtuluUI ui, final OrdResScenario ordRes) {
super();
this.val = val;
+ this.ordRes = ordRes;
resContainer = val.getResContainer();
this.ui = ui;
}
@@ -387,12 +391,17 @@
this.idxPdt = idxPdt;
try {
ResCalcul read = val.read(idxPdt, resContainer);
- final Map describe = PropertyUtils.describe(read);
- describe.remove("class");
- props.addAll(describe.keySet());
- Collections.sort(props);
- for (final Object object : props) {
- final Object value = describe.get(object);
+ if (visibleProps == null) {
+ visibleProps = new ArrayList<String>(ResCalcul.getOrdresProps(read.getClass(), ordRes));
+ Collections.sort(visibleProps);
+ }
+ // final Map describe = PropertyUtils.describe(read);
+ // describe.remove("class");
+ // props.addAll(describe.keySet());
+ // Collections.sort(props);
+ for (final String object : visibleProps) {
+ props.add(StringUtils.capitalize(object));
+ final Object value = PropertyUtils.getProperty(read, object);
values.add(value);
}
} catch (final Exception e) {
@@ -412,7 +421,8 @@
pn.setLayout(new BuBorderLayout());
ResultatCalculPasDeTemps pasDeTemps = val.getPasDeTemps();
- final ResultatModel model = new ResultatModel(val, projet.getImpl());
+ final ResultatModel model = new ResultatModel(val, projet.getImpl(), projet.getProject().getScenarioCourant()
+ .getEmh().getOrdResScenario());
final JComboBox cb = new JComboBox(new CtuluComboBoxModelAdapter(new PasDeTempsListModel(pasDeTemps)));
cb.setRenderer(new PasDeTempsCellRenderer(pasDeTemps));
cb.addItemListener(new ItemListener() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|