From: <emm...@us...> - 2008-11-03 19:23:43
|
Revision: 4155 http://fudaa.svn.sourceforge.net/fudaa/?rev=4155&view=rev Author: emmanuel_martin Date: 2008-11-03 16:11:51 +0000 (Mon, 03 Nov 2008) Log Message: ----------- tache #74 : "Pas de pr?\195?\169vention de l'utilisateur en cas d'?\195?\169crasement lors de l'exportation des fichiers rubar _autres.st et .sem" Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectExportPanel.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectExportPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectExportPanel.java 2008-11-03 14:29:31 UTC (rev 4154) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectExportPanel.java 2008-11-03 16:11:51 UTC (rev 4155) @@ -51,6 +51,7 @@ import org.fudaa.ctulu.CtuluArkLoader; import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluUI; import org.fudaa.ctulu.gis.factory.GISExportDataStoreFactory; @@ -257,10 +258,6 @@ setErrorText(CtuluLib.getS("Donnez un nom au fichier d'exportation")); return false; } - if (f.exists() && !ui_.question(CtuluLib.getS("Attention"), CtuluLib.getS("Le fichier {0} existe d\xE9j\xE0. Voulez-vous l'\xE9craser?", - pn_.getFile().toString()))) { - return false; - } boolean bextok=false; for (int i=0; i<filters_.length; i++) { if (filters_[i].accept(f)) { @@ -272,6 +269,39 @@ setErrorText(TrResource.getS("Le fichier choisi a une extension inconnue")); return false; } + if (CtuluLibFile.getExtension(f.getName())==null) { + setErrorText(CtuluLib.getS("Le fichier choisi doit avoir une extension.")); + return false; + } + if (CtuluLibFile.getExtension(CtuluLibFile.getSansExtension(f.getName()))!=null) { + setErrorText(CtuluLib.getS("Ne mettez pas plusieurs '.' dans le nom.")); + return false; + } + String result=""; + int nbFiles=0; + if (f.exists()){ + result+=f.getName(); + nbFiles++; + } + String name=CtuluLibFile.getSansExtension(f.getName()); + // Teste sur l'existance des fichier. Dans le cas d'un enregistrement en + // rubar, il faut aussi tester avec les extensions .sem et .cn + if (CtuluLibFile.getExtension(f.getName()).equalsIgnoreCase("st")) { + if ((new File(f.getParent()+File.separatorChar+name+".sem")).exists()) { + result+=(result.length()!=0 ? ", ":"")+name+".sem"; + nbFiles++; + } + if ((new File(f.getParent()+File.separatorChar+name+".cn")).exists()) { + result+=(result.length()!=0 ? ", ":"")+name+".cn"; + nbFiles++; + } + } + if (nbFiles>0) + if(nbFiles==1&&!ui_.question(CtuluLib.getS("Attention"), CtuluLib.getS("Le fichier {0} existe d\xE9j\xE0. Voulez-vous l'\xE9craser?", result))) + return false; + else if(nbFiles>1&&!ui_.question(CtuluLib.getS("Attention"), CtuluLib.getS("Les fichiers {0} existent d\xE9j\xE0. Voulez-vous les \xE9craser?", result))) + return false; + setErrorText(null); return true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |