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