|
From: <de...@us...> - 2011-06-23 21:10:21
|
Revision: 6313
http://fudaa.svn.sourceforge.net/fudaa/?rev=6313&view=rev
Author: deniger
Date: 2011-06-23 21:10:14 +0000 (Thu, 23 Jun 2011)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/rptr/CrueConverterRPTR.java
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtReseauNoeud.java
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/Sorties.java
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/ManagerEMHScenario.java
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10.java
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/validation/util/ValidationContentInfoEMHDansEMHExecutor.java
trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/common/projetMessages.properties
trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/comparaison/io/default-comparaison.xml
trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/builder/EMHManagerBuilder.java
trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java
Removed Paths:
-------------
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtReseauCrue10.java
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/rptr/CrueConverterRPTR.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/rptr/CrueConverterRPTR.java 2011-06-23 12:28:51 UTC (rev 6312)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/rptr/CrueConverterRPTR.java 2011-06-23 21:10:14 UTC (rev 6313)
@@ -11,7 +11,6 @@
import org.fudaa.dodico.crue.io.dao.CrueConverter;
import org.fudaa.dodico.crue.io.rptr.CrueDaoStructureRPTR.ResPrtNoeudDao;
import org.fudaa.dodico.crue.metier.emh.ResPrtReseau;
-import org.fudaa.dodico.crue.metier.emh.ResPrtReseauCrue10;
import org.fudaa.dodico.crue.metier.emh.ResPrtReseauNoeud;
/**
@@ -30,9 +29,9 @@
*/
public ResPrtReseau convertDaoToMetier(final CrueDaoRPTR dao, final CrueData dataLinked, final CtuluAnalyze analyser) {
- ResPrtReseauCrue10 resPrtReseau = (ResPrtReseauCrue10) dataLinked.getModele().getResPrtReseau();
+ ResPrtReseau resPrtReseau = (ResPrtReseau) dataLinked.getModele().getResPrtReseau();
if (resPrtReseau == null) {
- resPrtReseau = new ResPrtReseauCrue10();
+ resPrtReseau = new ResPrtReseau();
dataLinked.getModele().addInfosEMH(resPrtReseau);
}
final List<ResPrtNoeudDao> resPrtReseauNoeuds = dao.ResPrtReseauNoeuds;
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java 2011-06-23 12:28:51 UTC (rev 6312)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHCasier.java 2011-06-23 21:10:14 UTC (rev 6313)
@@ -37,6 +37,11 @@
return selectInfoEMH.getResultat();
}
+ public final ResPrtCIniCasier getResPrtCIniCasier() {
+ return EMHHelper
+ .selectFirstOfClass(getInfosEMH(), ResPrtCIniCasier.class);
+ }
+
@Override
public boolean getActuallyActive() {
boolean res = super.getActuallyActive();
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java 2011-06-23 12:28:51 UTC (rev 6312)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/CatEMHSection.java 2011-06-23 21:10:14 UTC (rev 6313)
@@ -29,6 +29,11 @@
return selectInfoEMH.getResultat();
}
+ public final ResPrtCIniSection getResPrtCIniSection() {
+ return EMHHelper
+ .selectFirstOfClass(getInfosEMH(), ResPrtCIniSection.class);
+ }
+
/**
* @return true si active et si contenue par une branche active.
*/
Deleted: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtReseauCrue10.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtReseauCrue10.java 2011-06-23 12:28:51 UTC (rev 6312)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtReseauCrue10.java 2011-06-23 21:10:14 UTC (rev 6313)
@@ -1,15 +0,0 @@
-/**
- *
- */
-package org.fudaa.dodico.crue.metier.emh;
-
-
-/**
- * @author deniger
- */
-public class ResPrtReseauCrue10 extends ResPrtReseau {
-
-
-
-
-}
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtReseauNoeud.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtReseauNoeud.java 2011-06-23 12:28:51 UTC (rev 6312)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtReseauNoeud.java 2011-06-23 21:10:14 UTC (rev 6313)
@@ -25,7 +25,12 @@
}
+ @Override
+ public String toString() {
+ return getClass().getSimpleName()+" "+nom;
+ }
+
/**
* @return the nom
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/Sorties.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/Sorties.java 2011-06-23 12:28:51 UTC (rev 6312)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/Sorties.java 2011-06-23 21:10:14 UTC (rev 6313)
@@ -23,11 +23,17 @@
trace.setVerbositeFichier(verbosite);
}
+ @Visibility(ihm=false)
public EnumVerbosite getVerbositeMax() {
if (trace.getVerbositeAbonne() == EnumVerbosite.UN || trace.getVerbositeEcran() == EnumVerbosite.UN
|| trace.getVerbositeFichier() == EnumVerbosite.UN) { return EnumVerbosite.UN; }
return EnumVerbosite.ZERO;
}
+
+ @Override
+ public String toString() {
+ return getClass().getSimpleName();
+ }
/**
* @return the avancement
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/ManagerEMHScenario.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/ManagerEMHScenario.java 2011-06-23 12:28:51 UTC (rev 6312)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/ManagerEMHScenario.java 2011-06-23 21:10:14 UTC (rev 6313)
@@ -9,6 +9,7 @@
import org.fudaa.ctulu.CtuluLibFile;
import org.fudaa.dodico.crue.io.common.CrueFileType;
+import org.fudaa.dodico.crue.metier.emh.EMHModeleBase;
import org.fudaa.dodico.crue.metier.emh.EMHScenario;
/**
@@ -103,7 +104,7 @@
protected Map<String, File> getFilesResultatIn(final File dirOfRun) {
final Map<String, File> res = new HashMap<String, File>();
if (getFils().isEmpty()) { return Collections.emptyMap(); }
- if (getInfosVersions().getType().contains("9")) {
+ if (isCrue9()) {
// sto/str/fcb/
final ManagerEMHModeleBase managerEMHModeleBase = getFils().get(0);
final File base = new File(dirOfRun, managerEMHModeleBase.getNom());
@@ -121,12 +122,13 @@
return res;
} else {
+ // RPTI and RPTG
List<ManagerEMHModeleBase> modeles = getFils();
for (ManagerEMHModeleBase managerEMHModeleBase : modeles) {
final File base = new File(dirOfRun, managerEMHModeleBase.getNom());
String key = getResKey(managerEMHModeleBase, CrueFileType.RPTI);
res.put(key, new File(base, key));
- key = getResKey(managerEMHModeleBase,CrueFileType.RPTG);
+ key = getResKey(managerEMHModeleBase, CrueFileType.RPTR);
res.put(key, new File(base, key));
}
@@ -134,10 +136,14 @@
return res;
}
- public String getResKey(ManagerEMHModeleBase managerEMHModeleBase, CrueFileType rpti) {
- return managerEMHModeleBase.getNom() + "." + rpti.toString().toLowerCase()+".xml";
+ public String getResKey(ManagerEMHModeleBase managerEMHModeleBase, CrueFileType fileType) {
+ return managerEMHModeleBase.getNom() + "." + fileType.toString().toLowerCase() + ".xml";
}
+ public String getResKey(EMHModeleBase modele, CrueFileType fileType) {
+ return modele.getNom() + "." + fileType.toString().toLowerCase() + ".xml";
+ }
+
public List<EMHRun> getListeRuns() {
return listeRuns_;
}
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2011-06-23 12:28:51 UTC (rev 6312)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2011-06-23 21:10:14 UTC (rev 6313)
@@ -6,6 +6,7 @@
import java.util.Map;
import org.fudaa.ctulu.CtuluAnalyze;
+import org.fudaa.ctulu.CtuluLibFile;
import org.fudaa.dodico.crue.common.CrueErrorManager;
import org.fudaa.dodico.crue.common.ProjetMessages;
import org.fudaa.dodico.crue.config.CrueConfigMetier;
@@ -106,7 +107,7 @@
if (projet.getScenario(scenario.getNom()) == null) {
analyzer.addFatalError("not.scenario.error", scenario.getNom());
}
- final boolean ok = validFiles(testFileExistBilan,run);
+ final boolean ok = validFiles(testFileExistBilan, run);
if (!ok) { return null; }
Map<String, File> files = projet.getFiles(scenario, run);
@@ -124,7 +125,8 @@
emhScenario = new ScenarioLoaderCrue9(scenario, readFileBilan, propDefinition, analyzer).compute(files,
resFiles);
} else {
- emhScenario = new ScenarioLoaderCrue10(scenario, readFileBilan, propDefinition, analyzer).compute(files);
+ emhScenario = new ScenarioLoaderCrue10(scenario, readFileBilan, propDefinition, analyzer).compute(files,
+ resFiles);
}
}
if (emhScenario == null || errorMng.containsFatalError()) { return null; }
@@ -148,7 +150,6 @@
return res;
}
-
private boolean validFiles(final CrueErrorManager errorMng, EMHRun run) {
// on teste la presence de fichiers
Map<String, File> fileToLoad = projet.getEtudeScenarioFiles(scenario);
@@ -159,7 +160,7 @@
if (ok) {
fileToLoad = runFiles;
}
- final CtuluAnalyze analyze = warnResFileExists(projet.getFilesResultat(scenario, run));
+ final CtuluAnalyze analyze = warnIfResFileNotExists(projet.getFilesResultat(scenario, run));
if (analyze != null && !analyze.isEmpty()) {
errorMng.getAnalyser().add(analyze);
}
@@ -185,11 +186,11 @@
return valid;
}
- private CtuluAnalyze warnResFileExists(final Map<String, File> allFileUsed) {
+ private CtuluAnalyze warnIfResFileNotExists(final Map<String, File> allFileUsed) {
CtuluAnalyze fileNotExist = null;
// boolean valid = true;
for (final File url : allFileUsed.values()) {
- if (url == null || !url.exists()) {
+ if (!CtuluLibFile.exists(url)) {
// valid = false;
if (fileNotExist == null) {
fileNotExist = new CtuluAnalyze(ProjetMessages.RESOURCE_BUNDLE);
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10.java 2011-06-23 12:28:51 UTC (rev 6312)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10.java 2011-06-23 21:10:14 UTC (rev 6313)
@@ -14,7 +14,9 @@
import org.apache.commons.collections.MapUtils;
import org.fudaa.ctulu.CtuluAnalyze;
+import org.fudaa.ctulu.CtuluLibFile;
import org.fudaa.dodico.crue.common.CrueErrorManager;
+import org.fudaa.dodico.crue.common.ProjetMessages;
import org.fudaa.dodico.crue.config.CrueOptions;
import org.fudaa.dodico.crue.config.CrueConfigMetier;
import org.fudaa.dodico.crue.io.Crue10FileFormat;
@@ -36,7 +38,9 @@
import org.fudaa.dodico.crue.metier.etude.ManagerEMHScenario;
import org.fudaa.dodico.crue.metier.etude.ManagerEMHSousModele;
import org.fudaa.dodico.crue.metier.factory.EMHRelationFactory;
+import org.fudaa.dodico.crue.metier.helper.EMHHelper;
import org.fudaa.dodico.crue.validation.ValidateModeleScenarioWithSchema;
+import org.fudaa.dodico.crue.validation.ValidatorResultatCrue10;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -45,11 +49,15 @@
*/
public class ScenarioLoaderCrue10 {
+ private final static Logger LOGGER = LoggerFactory.getLogger(ScenarioLoaderCrue10.class);
private final CtuluAnalyze analyzer;
private final CrueErrorManager errorMng;
+
private final Crue10FileFormatFactory factory = Crue10FileFormatFactory.getInstance();
+ Map<String, Long> lastModificationByEMHId = new HashMap<String, Long>();
private final OrdonnanceurCrue10 ordonnanceurCrue10 = new OrdonnanceurCrue10();
+
private final CrueConfigMetier propDefinition;
private final ManagerEMHScenario scenario;
@@ -68,23 +76,7 @@
this.analyzer = analyzer;
}
- private final static Logger LOGGER = LoggerFactory.getLogger(ScenarioLoaderCrue10.class);
-
- private Map<String, URL> createFrom(final Map<String, File> files) {
- if (MapUtils.isEmpty(files)) { return Collections.emptyMap(); }
- final Map<String, URL> res = new HashMap<String, URL>();
- try {
- for (final Map.Entry<String, File> it : files.entrySet()) {
- res.put(it.getKey(), it.getValue().toURI().toURL());
-
- }
- } catch (final MalformedURLException e) {
- LOGGER.error("createFrom", e);
- }
- return res;
- }
-
- protected EMHScenario compute(final Map<String, File> files) {
+ protected EMHScenario compute(final Map<String, File> files, Map<String, File> resFiles) {
Collection<File> values = files.values();
String version = null;
for (File file : values) {
@@ -103,10 +95,106 @@
scenario, propDefinition, version);
crue10Valid.validate(errorMng);
if (errorMng.containsError()) { return null; }
- return ordonnanceChargementCrue10(files, version);
+ EMHScenario emhScenario = ordonnanceChargementCrue10(files, version);
+ if (!analyzer.containsFatalError() && MapUtils.isNotEmpty(resFiles)) {
+ loadResFiles(resFiles, emhScenario);
+ }
+ return emhScenario;
}
+ private Map<String, URL> createFrom(final Map<String, File> files) {
+ if (MapUtils.isEmpty(files)) { return Collections.emptyMap(); }
+ final Map<String, URL> res = new HashMap<String, URL>();
+ try {
+ for (final Map.Entry<String, File> it : files.entrySet()) {
+ res.put(it.getKey(), it.getValue().toURI().toURL());
+
+ }
+ } catch (final MalformedURLException e) {
+ LOGGER.error("createFrom", e);
+ }
+ return res;
+ }
+
+ public long getLastModification(ManagerEMHModeleBase modele) {
+ long lastModification = lastModificationByEMHId.get(modele.getId()).longValue();
+ final List<ManagerEMHSousModele> fils = modele.getFils();
+ for (ManagerEMHSousModele managerEMHSousModele : fils) {
+ if (managerEMHSousModele.isActive()) {
+ long lastModificationInSousModele = lastModificationByEMHId.get(managerEMHSousModele.getId());
+ if (lastModificationInSousModele > lastModification) {
+ lastModification = lastModificationInSousModele;
+ }
+ }
+ }
+ return lastModification;
+ }
+
+ private void loadResFiles(Map<String, File> resFiles, EMHScenario emhScenario) {
+ // chargement de rptr et rpti par modele
+ final CrueErrorManager logs = errorMng.createGroup(ProjetMessages.getString("load.resFile"));
+ logs.getMainAnalyze().setDefaultResourceBundle(ProjetMessages.RESOURCE_BUNDLE);
+ if(!validResultatFiles(resFiles, logs)){
+ return;
+ }
+ if (logs.containsFatalError()) { return; }
+ for (EMHModeleBase modele : emhScenario.getModeles()) {
+ if (modele.getActuallyActive()) {
+ CrueData crueData = CrueDataImpl.buildConcatFor(emhScenario, modele);
+ File rpti = resFiles.get(scenario.getResKey(modele, CrueFileType.RPTI));
+ File rptr = resFiles.get(scenario.getResKey(modele, CrueFileType.RPTR));
+ if (CtuluLibFile.exists(rpti)) {
+ Crue10FileFormatFactory.getVersion(CrueFileType.RPTI, scenario.getInfosVersions().getVersionCrue()).read(
+ rpti,
+ logs.getNewAnalyser(), crueData);
+ }
+ if (CtuluLibFile.exists(rptr)) {
+ Crue10FileFormatFactory.getVersion(CrueFileType.RPTR, scenario.getInfosVersions().getVersionCrue()).read(
+ rptr,
+ logs.getNewAnalyser(), crueData);
+ }
+ new ValidatorResultatCrue10().validateResultatPretraitement(modele, logs);
+ }
+
+ }
+
+ }
+
/**
+ * @param resFiles
+ * @param logs
+ * @return true if all files are ok
+ */
+ private boolean validResultatFiles(Map<String, File> resFiles, final CrueErrorManager logs) {
+ boolean isOk=true;
+ for (final ManagerEMHModeleBase modele : scenario.getFils()) {
+ if (modele.isActive()) {
+ long lastModification = getLastModification(modele);
+ File rpti = resFiles.get(scenario.getResKey(modele, CrueFileType.RPTI));
+ File rptr = resFiles.get(scenario.getResKey(modele, CrueFileType.RPTR));
+ if (!CtuluLibFile.exists(rpti)) {
+ isOk=false;
+ logs.getMainAnalyze().addFatalError("load.rptiFile.noExist", rpti == null ? "?" : rpti.getName());
+ } else if (rpti.lastModified() < lastModification) {
+ // mettre une erreur
+ isOk=false;
+ logs.getMainAnalyze().addFatalError("load.rptiFile.cancelledBecauseTooOld");
+ }
+ if (!CtuluLibFile.exists(rptr)) {
+ // mettre une erreur
+ isOk=false;
+ logs.getMainAnalyze().addFatalError("load.rptrFile.noExist", rptr == null ? "?" : rptr.getName());
+ } else if (rptr.lastModified() < lastModification) {
+ isOk=false;
+ logs.getMainAnalyze().addFatalError("load.rptrFile.cancelledBecauseTooOld");
+ }
+
+ }
+ }
+ return isOk;
+ }
+
+ /**
* Ordonnance le chargement d'un projet crue 10: sous modeles puis modeles puis scenarios
*
* @param analyzer
@@ -116,7 +204,7 @@
try {
// -- recherche des fichiers sous modeles --//
if (scenario.getFils().isEmpty()) {
- analyzer.addError("noCurrentModele.error");
+ analyzer.addFatalError("noCurrentModele.error");
return null;
}
final List<CrueFileType> typesSsModele = ordonnanceurCrue10.getSousModele();
@@ -129,7 +217,7 @@
for (final ManagerEMHModeleBase modele : scenario.getFils()) {
final List<ManagerEMHSousModele> fils = modele.getFils();
if (fils.isEmpty()) {
- analyzer.addError("noCurrentSousModele.error", modele.getNom());
+ analyzer.addFatalError("noCurrentSousModele.error", modele.getNom());
return null;
}
@@ -166,14 +254,20 @@
private void readFile(final List<CrueFileType> typesToRead, final Map<String, File> idFile,
final ManagerEMHContainerBase content, final CrueData dest, CommentaireContainer coms, String version) {
+
+ long lastModification = 0;
for (final CrueFileType type : typesToRead) {
CrueIOResu read = null;
if (CrueFileType.OPTR.equals(type) && Crue10FileFormatFactory.V_1_1_1.equals(version)) {
- Crue10FileFormatFactory.getLastVersion(CrueFileType.OPTR).read("/default.optr.xml", errorMng.getNewAnalyser(), dest);
+ Crue10FileFormatFactory.getLastVersion(CrueFileType.OPTR).read("/default.optr.xml", errorMng.getNewAnalyser(),
+ dest);
} else {
FichierCrue file = content.getListeFichiers().getFile(type);
final String id = file.getId();
File f = idFile.get(id);
+ if (f.lastModified() > lastModification) {
+ lastModification = f.lastModified();
+ }
final FileFormatResult<Object> formatFinderResult = factory.getFileFormatForFile(type, f);
if (formatFinderResult.log.containsErrorOrFatalError()) {
errorMng.addAnalyzer(formatFinderResult.log);
@@ -188,6 +282,8 @@
read = fmt.read(f, errorMng.getNewAnalyser(), dest);
}
if (read != null) coms.getCommentairesManager().setCommentaire(type, read.getCrueCommentaire());
+
}
+ lastModificationByEMHId.put(content.getId(), Long.valueOf(lastModification));
}
}
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/validation/util/ValidationContentInfoEMHDansEMHExecutor.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/validation/util/ValidationContentInfoEMHDansEMHExecutor.java 2011-06-23 12:28:51 UTC (rev 6312)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/validation/util/ValidationContentInfoEMHDansEMHExecutor.java 2011-06-23 21:10:14 UTC (rev 6313)
@@ -72,6 +72,8 @@
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.dodico.crue.metier.emh.ResPrtCIniCasier;
+import org.fudaa.dodico.crue.metier.emh.ResPrtCIniSection;
import org.fudaa.dodico.crue.metier.emh.ResPrtReseau;
import org.fudaa.dodico.crue.metier.helper.EMHHelper;
@@ -148,6 +150,7 @@
canContain(CalcTransNoeudNiveauContinuLimnigramme.class)));
res.put(EMHCasierProfil.class, createList(
+ canContainsBetween(ResPrtCIniCasier.class, 0, 1),
canContain(DonPrtGeoProfilCasier.class),
canContain(DonPrtGeoBatiCasier.class),
requiredUnique(DonCalcSansPrtCasierProfil.class),
@@ -206,22 +209,26 @@
res.put(EMHSectionProfil.class, createList(
requiredUnique(DonPrtGeoProfilSection.class),
canContainsBetween(DonPrtCIniSection.class, 0, 1),
+ canContainsBetween(ResPrtCIniSection.class, 0, 1),
canContain(ResPrtGeoSectionContainer.class),
canContain(ResultatCalcul.class)));
res.put(EMHSectionIdem.class, createList(
requiredUnique(DonPrtGeoSectionIdem.class),
- canContainsBetween(DonPrtCIniSection.class, 0, 1),
+ canContainsBetween(DonPrtCIniSection.class, 0, 1),
+ canContainsBetween(ResPrtCIniSection.class, 0, 1),
canContain(ResPrtGeoSectionContainer.class),
canContain(ResultatCalcul.class)));
res.put(EMHSectionInterpolee.class, createList(
canContainsBetween(DonPrtCIniSection.class, 0, 1),
+ canContainsBetween(ResPrtCIniSection.class, 0, 1),
canContain(ResPrtGeoSectionContainer.class),
canContain(ResultatCalcul.class)));
res.put(EMHSectionSansGeometrie.class, createList(
canContainsBetween(DonPrtCIniSection.class, 0, 1),
+ canContainsBetween(ResPrtCIniSection.class, 0, 1),
canContain(ResPrtGeoSectionContainer.class),
canContain(ResultatCalcul.class)));
return res;
Modified: trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/common/projetMessages.properties
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/common/projetMessages.properties 2011-06-23 12:28:51 UTC (rev 6312)
+++ trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/common/projetMessages.properties 2011-06-23 21:10:14 UTC (rev 6313)
@@ -5,10 +5,14 @@
load.resFile = Lecture des fichiers de r\xE9sultats
load.stoFile.cancelledBecauseTooOld = Le chargement des fichiers de r\xE9sultats n'a pas \xE9t\xE9 effectu\xE9 car le fichier STO est plus ancien que le fichier DC
load.strFile.cancelledBecauseTooOld = Le chargement des fichiers de r\xE9sultats n'a pas \xE9t\xE9 effectu\xE9 car le fichier STR est plus ancien que le fichier DC
+load.rptiFile.cancelledBecauseTooOld = Le chargement des fichiers de r\xE9sultats n'a pas \xE9t\xE9 effectu\xE9 car le fichier RPTI est plus ancien que les fichiers du mod\xE8le
+load.rptrFile.cancelledBecauseTooOld = Le chargement des fichiers de r\xE9sultats n'a pas \xE9t\xE9 effectu\xE9 car le fichier RPTR est plus ancien que les fichiers du mod\xE8le
load.strFile.notDone = Le chargement du fichier STR n'a pas \xE9t\xE9 effectu\xE9. Les donn\xE9es ne seront pas charg\xE9es en m\xE9moire.
load.strFile.noExist = Le fichier STR {0} n''existe pas
load.stoFile.noExist = Le fichier STO {0} n''existe pas
load.fcbFile.noExist = Le fichier FCB {0} n''existe pas
+load.rptiFile.noExist = Le fichier RPTI {0} n''existe pas
+load.rptrFile.noExist = Le fichier RPTR {0} n''existe pas
noCurrentModele.error = Pas de EMHModeleBase pour l''EMHScenario.
crue10.xmlVersionsOfFilesAreDifferents=Les fichiers XML de l'EMHScenario ont des versions diff\xE9rentes
crue9.oneModele.authorized = Un seul EMHModeleBase est autoris\xE9 pour les EMHScenarios Crue 9
Modified: trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/comparaison/io/default-comparaison.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/comparaison/io/default-comparaison.xml 2011-06-23 12:28:51 UTC (rev 6312)
+++ trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/comparaison/io/default-comparaison.xml 2011-06-23 21:10:14 UTC (rev 6313)
@@ -991,6 +991,46 @@
<Compare-Liste Attribut="id" Bidirect="true" />
</Comparaison>
<Comparaison>
+ <Id>RPTI1</Id>
+ <Nom>Quel casier, présent dans A et dans B, comporte des différences sur les conditions initiales</Nom>
+ <Selection>
+ <Merge Attribut="id" Description="Les casiers de même id">
+ <Requete Description="Les casiers">
+ casiers[actuallyActive='true']
+ </Requete>
+ </Merge>
+ <Requete Description="Les conditions initiales">resPrtCIniCasier</Requete>
+ </Selection>
+ <Compare-Objet />
+ </Comparaison>
+ <Comparaison>
+ <Id>RPTI2</Id>
+ <Nom>Quelle section, présente dans A et dans B, comporte des différences sur les conditions initiales</Nom>
+ <Selection>
+ <Merge Attribut="id" Description="Les sections de même id">
+ <Requete Description="Les sections">
+ sections[actuallyActive='true']
+ </Requete>
+ </Merge>
+ <Requete Description="Les conditions initiales">resPrtCIniSection</Requete>
+ </Selection>
+ <Compare-Objet />
+ </Comparaison>
+ <Comparaison>
+ <Id>RPTR</Id>
+ <Nom>Quel modele, présent dans A et dans B, comporte des différences dans les listes des ResPrtReseauNoeud
+ </Nom>
+ <Selection>
+ <Requete Description="Les modeles">
+ modeles</Requete>
+ <!-- </Merge>-->
+ <Requete Description="La liste ResPrtReseau et des ResPrtReseauNoeud">
+ resPrtReseau/listResPrtReseauNoeud</Requete>
+ </Selection>
+ <!-- on compare toutes les valParam-->
+ <Compare-Liste-Order Attribut="id" OnlyIfSameList="true" />
+ </Comparaison>
+ <Comparaison>
<Id>RCAL1</Id>
<Nom>Les pas de temps sont-ils différents entre A et B
</Nom>
Modified: trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/builder/EMHManagerBuilder.java
===================================================================
--- trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/builder/EMHManagerBuilder.java 2011-06-23 12:28:51 UTC (rev 6312)
+++ trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/builder/EMHManagerBuilder.java 2011-06-23 21:10:14 UTC (rev 6313)
@@ -23,6 +23,7 @@
import org.fudaa.dodico.crue.io.neuf.FCBSequentialReader.ResultatCalcul;
import org.fudaa.dodico.crue.io.neuf.FCBSequentialReader.ResultatCalculPasDeTemps;
import org.fudaa.dodico.crue.io.neuf.FCBValueObject.AbstractEntete;
+import org.fudaa.dodico.crue.metier.emh.Avancement;
import org.fudaa.dodico.crue.metier.emh.Calc;
import org.fudaa.dodico.crue.metier.emh.CommentaireContainer;
import org.fudaa.dodico.crue.metier.emh.CommentaireItem;
@@ -51,6 +52,8 @@
import org.fudaa.dodico.crue.metier.emh.ResPrtData;
import org.fudaa.dodico.crue.metier.emh.ResPrtDataLitPos;
import org.fudaa.dodico.crue.metier.emh.ResPrtGeo;
+import org.fudaa.dodico.crue.metier.emh.Sorties;
+import org.fudaa.dodico.crue.metier.emh.Trace;
import org.fudaa.dodico.crue.metier.emh.ValParam;
import org.fudaa.dodico.crue.metier.helper.AnnotationHelper;
import org.fudaa.dodico.crue.metier.transformer.EnumToString;
@@ -82,6 +85,14 @@
return toAvoid.contains(name);
}
+ private boolean isSortieContent(Object param) {
+ if (param != null) {
+ Class cl = param.getClass();
+ return Sorties.class.equals(cl) || Avancement.class.equals(cl) || Trace.class.equals(cl);
+ }
+ return false;
+ }
+
private void addDescribeNode(final Object parent, final DefaultMutableTreeTableNode parentNode,
final String propToAvoid, final Map<String, AbstractTreeNode> ref) {
try {
@@ -119,7 +130,8 @@
}
// toutes les listes acceptés
final boolean isElemSeuil = "elemSeuilAvecPdc".equals(name) || "elemSeuil".equals(name);
- final boolean isAcceptedList = (isElemSeuil || "regle".equals(name) || isPdtVar)
+ final boolean isAcceptedList = (isElemSeuil || "regle".equals(name) || isPdtVar || "listResPrtReseauNoeud"
+ .equals(name))
&& entryValue instanceof Collection;
final boolean isRes = isResPrt || isDisplayedLoi || isResPrtData || isResPrtDataLitPos || isResPasDeTemps
@@ -214,7 +226,7 @@
}
}
- if (isResPrt || isResEntete || isOrdRes || isParamNumCalc || isFente) {
+ if (isResPrt || isResEntete || isOrdRes || isParamNumCalc || isFente || isSortieContent(entryValue)) {
addDescribeNode(entryValue, child, null, ref);
}
if (isResPrtData) {
Modified: trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java
===================================================================
--- trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java 2011-06-23 12:28:51 UTC (rev 6312)
+++ trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java 2011-06-23 21:10:14 UTC (rev 6313)
@@ -70,7 +70,7 @@
// infoCrue_.logo = new BuIcon(pathLogo);
infoCrue_.name = "Fudaa-Crue";
infoCrue_.version = "0.46";
- infoCrue_.date = "17-Juin-2011";
+ infoCrue_.date = "24-Juin-2011";
infoCrue_.rights = "";
infoCrue_.contact = "fu...@ge...";
infoCrue_.license = "GPL2";
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|