From: <de...@us...> - 2009-10-20 20:46:25
|
Revision: 5406 http://fudaa.svn.sourceforge.net/fudaa/?rev=5406&view=rev Author: deniger Date: 2009-10-20 20:46:13 +0000 (Tue, 20 Oct 2009) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFormat.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/DCFileWriter.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/ScenarioLoaderCrue9.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.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/projet/ScenarioSaverUI.java Added Paths: ----------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFilterExtension.java Removed Paths: ------------- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/test/java/org/ trunk/soft/fudaa-crue/fudaa/src/main/java/view/ Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormat.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -35,22 +35,9 @@ } - @SuppressWarnings("serial") @Override public BuFileFilter createFileFilter() { - return new BuFileFilter(extensions, getDescription()) { - @Override - public String getExtension(final File _f) { - // on redefinit pour recuperer le premier point. - if (_f != null) { - final String filename = _f.getName(); - final int i = filename.indexOf('.'); - if ((i > 0) && (i < filename.length() - 1)) { return filename.substring(i + 1).toLowerCase(); } - } - return null; - } - - }; + return new CustomFileFilterExtension(extensions, getDescription()); } /** Added: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFilterExtension.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFilterExtension.java (rev 0) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFilterExtension.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -0,0 +1,46 @@ +package org.fudaa.dodico.crue.io; + +import java.io.File; + +import com.memoire.bu.BuFileFilter; + +/** + * @author deniger + */ +@SuppressWarnings("serial") +public final class CustomFileFilterExtension extends BuFileFilter { + String[] extensions; + + /** + * @param filters + * @param description + */ + public CustomFileFilterExtension(final String[] filters, final String description) { + super(filters, description); + extensions = filters; + } + + private boolean isSelected(final String name) { + for (int i = 0; i < extensions.length; i++) { + final String ext = extensions[i].charAt(0) == '.' ? extensions[i] : ".".concat(extensions[i]); + if (name.endsWith(ext)) { return true; } + } + return false; + } + + @Override + public boolean accept(final File _f) { + if (_f != null) { + if (_f.isDirectory()) { return true; } + if (isSelected(_f.getName())) { return true; } + } + return false; + } + + @Override + public boolean accept(final File _d, final String _fn) { + final File f = new File(_fn); + if (f.isDirectory()) { return false; } + return isSelected(f.getName()); + } +} \ No newline at end of file Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFormat.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFormat.java 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/CustomFileFormat.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -87,7 +87,7 @@ * @return un filtre correspondant aux extension */ public BuFileFilter createFileFilter() { - return new BuFileFilter(extensions, nom); + return new CustomFileFilterExtension(extensions, nom); } /** 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 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileReader.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -137,7 +137,7 @@ if (CollectionUtils.isNotEmpty(listeDistance)) { xp = listeDistance.get(0); } - FactoryEMH.addSectionSansGeometrie(branche, xp); + FactoryEMH.addSectionSansGeometrie(branche, xp, metier); } else { // -- on ajoute la liste des relations EMH à la branche --// branche.setListeSections(listeRelationEmh); @@ -999,6 +999,10 @@ seuil.setLargeur(in_.doubleField(1)); seuil.setZseuil(in_.doubleField(2)); seuil.setCoefD(in_.doubleField(3)); + // lecture de cpert + if (in_.getNumberOfFields() > 4) { + seuil.setCoefPdc(in_.doubleField(4)); + } // -- ajout du seuil --// dataDCSP.addElemSeuilAvecPdc(seuil); // } @@ -1778,7 +1782,7 @@ if (element.toUpperCase().equals(CrueIODico.NOEUD)) { // -- lecture des Noeuds --// readNoeuds(metier); - } else if (CrueIODico.appartientReglesCarte(in_.getLine())) { + } else if (in_.getNumberOfFields() > 0 && CrueIODico.appartientReglesCarte(in_.stringField(0))) { // -- lecture des regles --// readRegles(metier); } else if (CrueIODico.isAnewBrancheDefinition(in_.getLine())) { Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -9,7 +9,6 @@ import org.apache.commons.collections.CollectionUtils; import org.fudaa.ctulu.CtuluActivity; -import org.fudaa.ctulu.CtuluLib; import org.fudaa.dodico.crue.io.common.CrueData; import org.fudaa.dodico.crue.io.common.CrueIOResu; import org.fudaa.dodico.crue.io.common.EnumsConverter; @@ -137,12 +136,12 @@ * Ecrit les regles. * * @author Adrien Hadoux - * @param data + * @param metier * @throws IOException */ public void writeRules(final CrueData metier) throws IOException { writeCom(""); - writeCom(" Definition des Regles"); + writeCom(" Configuration generale"); // -- regles PNUM --// if (metier.getParamNumModeleBase() != null) { fortranWriter.stringField(0, CrueIODico.ZREF); @@ -156,7 +155,6 @@ fortranWriter.writeFields(); } } - // writeCom("Regles ecrites dans le fichier dh"); if (metier.getPretraitementsGeom() != null && metier.getPretraitementsGeom().getRegle() != null) { for (final Regle regle : metier.getPretraitementsGeom().getRegle()) { @@ -164,42 +162,42 @@ if (EnumRegle.PROF_PLAT.equals(regle.getType())) { final double val = regle.getSeuilDetect(); - if (!CtuluLib.isEquals(val, DefaultValues.PM_PROF_PLAT, 1e-6)) { - writeCarteValeur(CrueIODico.R_PRPLAT, val * 100); - } + // if (!CtuluLib.isEquals(val, DefaultValues.PM_PROF_PLAT, 1e-6)) { + writeCarteValeur(CrueIODico.R_PRPLAT, val * 100); + // } } else if (EnumRegle.PENTE_RUPTURE.equals(regle.getType())) { final double val = regle.getSeuilDetect(); - if (!CtuluLib.isEquals(val, DefaultValues.PM_PENTE_RUPTURE, 1e-7)) { - writeCarteValeur(CrueIODico.R_RUPENT, val); - } + // if (!CtuluLib.isEquals(val, DefaultValues.PM_PENTE_RUPTURE, 1e-7)) { + writeCarteValeur(CrueIODico.R_RUPENT, val); + // } } else if (EnumRegle.DECAL.equals(regle.getType())) { final double val = regle.getSeuilDetect(); - if (!CtuluLib.isEquals(val, DefaultValues.PM_DECAL, 1e-5)) { - writeCarteValeur(CrueIODico.R_DECAL, val); - } + // if (!CtuluLib.isEquals(val, DefaultValues.PM_DECAL, 1e-5)) { + writeCarteValeur(CrueIODico.R_DECAL, val); + // } } else if (EnumRegle.LARG_SEUIL.equals(regle.getType())) { final double val = regle.getSeuilDetect(); - if (!CtuluLib.isEquals(val, DefaultValues.PM_LARG_SEUIL, 1e-3)) { - writeCarteValeur(CrueIODico.R_SLARGE, val); - } + // if (!CtuluLib.isEquals(val, DefaultValues.PM_LARG_SEUIL, 1e-3)) { + writeCarteValeur(CrueIODico.R_SLARGE, val); + // } } else if (EnumRegle.PDX_MAX.equals(regle.getType())) { final double val = regle.getSeuilDetect(); - if (!CtuluLib.isEquals(val, DefaultValues.PM_PDX_MAX, 1e-3)) { - writeCarteValeur(CrueIODico.R_DXMAX, val); - } + // if (!CtuluLib.isEquals(val, DefaultValues.PM_PDX_MAX, 1e-3)) { + writeCarteValeur(CrueIODico.R_DXMAX, val); + // } } else if (EnumRegle.VAR_PDX_MAX.equals(regle.getType())) { final ValParamEntier val = (ValParamEntier) regle.getValParam(); final int var = val.getValeur(); - if (Math.abs(DefaultValues.PM_VAR_PDX_MAX - var) > 1) { - fortranWriter.stringField(0, CrueIODico.R_VDXMAX); - fortranWriter.intField(1, var); - fortranWriter.writeFields(); - } + // if (Math.abs(DefaultValues.PM_VAR_PDX_MAX - var) > 1) { + fortranWriter.stringField(0, CrueIODico.R_VDXMAX); + fortranWriter.intField(1, var); + fortranWriter.writeFields(); + // } } else if (EnumRegle.PENTE_MAX.equals(regle.getType())) { final double val = regle.getSeuilDetect(); - if (!CtuluLib.isEquals(val, DefaultValues.PM_PENTE_MAX, 1e-6)) { - writeCarteValeur(CrueIODico.R_PENMAX, val * 100); - } + // if (!CtuluLib.isEquals(val, DefaultValues.PM_PENTE_MAX, 1e-6)) { + writeCarteValeur(CrueIODico.R_PENMAX, val * 100); + // } } else if (EnumRegle.REB_DEB.equals(regle.getType())) { fortranWriter.stringField(0, CrueIODico.R_REBDEB); @@ -971,6 +969,7 @@ fortranWriter.doubleField(1, seuil.getLargeur()); fortranWriter.doubleField(2, seuil.getZseuil()); fortranWriter.doubleField(3, seuil.getCoefD()); + fortranWriter.doubleField(4, seuil.getCoefPdc()); fortranWriter.writeFields(); } @@ -1041,6 +1040,7 @@ fortranWriter.doubleField(1, seuil.getLargeur()); fortranWriter.doubleField(2, seuil.getZseuil()); fortranWriter.doubleField(3, seuil.getCoefD()); + fortranWriter.doubleField(4, seuil.getCoefPdc()); fortranWriter.writeFields(); } 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 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/helper/FactoryEMH.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -11,6 +11,7 @@ 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.*; import org.fudaa.dodico.crue.validation.CruePrefix; import org.joda.time.Duration; @@ -119,14 +120,17 @@ /** * @param branche pour laquelle on initalise 2 sections sans geometrie: une amont et une aval. * @param longueur la longueur de la branche + * @param metier structure dans laquelle seront ajoutés les sections. */ - public static void addSectionSansGeometrie(final CatEMHBranche branche, final double longueur) { + public static void addSectionSansGeometrie(final CatEMHBranche branche, final double longueur, CrueData metier) { final EMHSectionSansGeometrie amont = new EMHSectionSansGeometrie(CruePrefix.changePrefix(branche.getNom(), CruePrefix.P_BRANCHE, CruePrefix.P_SECTION) + "_Amont"); final EMHSectionSansGeometrie aval = new EMHSectionSansGeometrie(CruePrefix.changePrefix(branche.getNom(), CruePrefix.P_BRANCHE, CruePrefix.P_SECTION) + "_Aval"); + metier.add(amont); + metier.add(aval); branche.setListeSections(Arrays .asList(createRelationSectionDansBranche(branche, amont, 0, EnumPositionSection.AMONT), createRelationSectionDansBranche(branche, aval, longueur, EnumPositionSection.AVAL))); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -179,18 +179,20 @@ final String nom = rptg.getProfilNom(i); final String id = nom.toUpperCase(); // c'est un profil de casier + CatEMHCasier casier = null; if (id.indexOf('#') > 0) { final String ndNom = StringUtils.substringBeforeLast(id, "#"); final CatEMHNoeud nd = data.findNoeudByReference(ndNom); if (nd == null) { analyze.addError("rptg.NoeudForCasier.notFound", ndNom, id); error = true; + } else { + casier = nd.getCasier(); + if (casier == null) { + analyze.addError("rptg.casier.notExist", ndNom); + error = true; + } } - final CatEMHCasier casier = nd.getCasier(); - if (casier == null) { - analyze.addError("rptg.casier.notExist", ndNom); - error = true; - } final List<DonPrtGeoProfilCasier> profilCasier = EMHHelper.selectClass(casier.getInfosEMH(), DonPrtGeoProfilCasier.class); // PC_N6_002 @@ -201,7 +203,7 @@ if (profil == null) { analyze.addError("rptg.profilCasier.notExist", donPrtSearch); error = true; - } else { + } else if (casier != null) { casier.addInfosEMH(rptg.getResultatOnProfil(nom)); } Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaverCrue9.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -32,11 +32,16 @@ this.errorManager = errorManager; } + /** + * @param files la liste id->Dile + * @return true si sauvegarde effectuée. + */ public boolean save(final Map<String, File> files) { final CtuluAnalyze analyzer = errorManager.getMainAnalyze(); + // on effectue quand même l'opératio if (!scenario.isCompatibleCrue9()) { - analyzer.addFatalError("scenario.nonCompatible.crue9"); - return false; + analyzer.addError("scenario.nonCompatible.crue9"); + // return false; } // -- recherche des fichiers sous modeles --// final List<ManagerEMHModeleBase> fils = scenario.getFils(); 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 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties 2009-10-20 20:46:13 UTC (rev 5406) @@ -53,7 +53,7 @@ rptg.profilCasier.notExist = Le profil de casier {0} est d\u00E9fini dans les r\u00E9sultats de pr\u00E9traitement mais il n'existe pas dans l'\u00E9tude rptg.section.notFound = La section {0} n''est pas d\u00E9finie dans l''\u00E9tude. Les r\u00E9sultats de pr\u00E9traitement ne correspondent pas aux donn\u00E9es. -scenario.nonCompatible.crue9 = Le sc\u00E9nario n''est pas compatible avec Crue9 +scenario.nonCompatible.crue9 = Le sc\u00E9nario ne sera pas compatible avec Crue9 valid.line = Ligne valid.nom.notUnique = Le nom {0} n''est pas unique 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 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueLauncher.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -85,8 +85,8 @@ infoCrue_.banner = new BuIcon(pathLogo); // infoCrue_.logo = new BuIcon(pathLogo); infoCrue_.name = "Fudaa-Crue"; - infoCrue_.version = "0.8"; - infoCrue_.date = "15-Juillet-2009"; + infoCrue_.version = "0.10"; + infoCrue_.date = "21-Octobre-2009"; infoCrue_.rights = ""; infoCrue_.contact = "fu...@ge..."; infoCrue_.license = "GPL2"; Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java 2009-10-20 16:26:05 UTC (rev 5405) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ScenarioSaverUI.java 2009-10-20 20:46:13 UTC (rev 5406) @@ -81,8 +81,8 @@ public boolean generateInCrue9() { if (!scenarioToPersist.isCompatibleCrue9()) { - projet.getImpl().error(CommonMessages.getString("scenario.nonCompatible.crue9")); - return false; + projet.getImpl().warn(FCrueResource.getS("ihm.export.crue9"), + CommonMessages.getString("scenario.nonCompatible.crue9")); } ScenarioExporterCrue9 loader = new ScenarioExporterCrue9(fichierModele, CrueDataImpl This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |