|
From: <de...@us...> - 2016-02-19 19:22:50
|
Revision: 9279
http://sourceforge.net/p/fudaa/svn/9279
Author: deniger
Date: 2016-02-19 19:22:47 +0000 (Fri, 19 Feb 2016)
Log Message:
-----------
CRUE-657
Modified Paths:
--------------
trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/table/CtuluTableXlsxWriter.java
trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt
trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluFileChooserCsvExcel.java
trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluFileChooserTestWritable.java
trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluFileChooserWriter.java
trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTableExportTask.java
Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/table/CtuluTableXlsxWriter.java
===================================================================
--- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/table/CtuluTableXlsxWriter.java 2016-02-19 18:33:17 UTC (rev 9278)
+++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/table/CtuluTableXlsxWriter.java 2016-02-19 19:22:47 UTC (rev 9279)
@@ -33,9 +33,9 @@
* @version $Id: CtuluTableExcelWriter.java,v 1.7 2007-04-16 16:33:53 deniger Exp $
*/
public class CtuluTableXlsxWriter implements CtuluWriter {
-
+
CtuluTableModelInterface table_;
-
+
File dest_;
/**
@@ -47,13 +47,14 @@
table_ = _table;
dest_ = _dest;
}
-
+
public CtuluTableXlsxWriter() {
super();
}
/**
* @param _p le receveur de l'avancement
+ * @throws IllegalStateException si erreur d'ecriture du fichier.
*/
@Override
public void write(final ProgressionInterface _p) {
@@ -104,52 +105,57 @@
if (_p != null) {
_p.setProgression(80);
}
- writeToFile(wb);
+ boolean ok = writeToFile(wb);
+ if (!ok) {
+ throw new IllegalStateException(CtuluResource.CTULU.getString("Impossible d'\xE9crire dans le fichier '{0}'. Il est probablement ouvert.", dest_.
+ getName()));
+ }
} finally {
}
-
+
}
-
- protected void writeToFile(Workbook wb) {
+
+ protected boolean writeToFile(Workbook wb) {
FileOutputStream fileOut = null;
try {
fileOut = new FileOutputStream(dest_);
wb.write(fileOut);
fileOut.close();
- } catch (IOException ex) {
- Logger.getLogger(CtuluTableXlsxWriter.class.getName()).log(Level.SEVERE, null, ex);
+ } catch (Exception ex) {
+ return false;
} finally {
CtuluLibFile.close(fileOut);
}
+ return true;
}
-
+
BuFileFilter ftXsl_ = new BuFileFilter(new String[]{"xlsx"}, CtuluResource.CTULU.getString("Fichier Excel"));
-
+
@Override
public BuFileFilter getFilter() {
return ftXsl_;
}
-
+
@Override
public void setFile(File f) {
dest_ = f;
}
-
+
@Override
public void setModel(CtuluTableModelInterface _model) {
table_ = _model;
}
-
+
String extension_ = ".xlsx";
-
+
@Override
public String getMostPopularExtension() {
return extension_;
}
-
+
@Override
public boolean allowFormatData() {
return true;
}
-
+
}
Modified: trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt
===================================================================
--- trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt 2016-02-19 18:33:17 UTC (rev 9278)
+++ trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt 2016-02-19 19:22:47 UTC (rev 9279)
@@ -339,4 +339,5 @@
S\xE9lection des donn\xE9es \xE0 exporter=Select data to export
Export termin\xE9=Export finished
Donn\xE9es export\xE9es dans le fichier\n {0}=Data exported in the file\n {0}
-Enregistrer sous=Save as
\ No newline at end of file
+Enregistrer sous=Save as
+Impossible d'\xE9crire dans le fichier '{0}'. Il est probablement ouvert.=The file {0} can't be written. It should be opened by another process.
\ No newline at end of file
Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluFileChooserCsvExcel.java
===================================================================
--- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluFileChooserCsvExcel.java 2016-02-19 18:33:17 UTC (rev 9278)
+++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluFileChooserCsvExcel.java 2016-02-19 19:22:47 UTC (rev 9279)
@@ -51,7 +51,6 @@
return ftXslx_;
}
-
public CtuluFileChooserCsvExcel(Component parentComponent) {
this.parentComponent = parentComponent;
ftCsv_ = new BuFileFilter(new String[]{"csv", "txt"}, CtuluResource.CTULU.getString("Texte CSV"));
@@ -69,6 +68,7 @@
setApproveButtonToolTipText(CtuluLib.getS("L'extension du fichier sera automatiquement compl\xE9t\xE9e"));
CtuluFileChooserTestWritable tester = new CtuluFileChooserTestWritable(parentComponent);
tester.setAppendExtension(true, null);
+ tester.setAppendStrictExtension(true);
setFileFilter(ftXslx_);
setDialogTitle(CtuluLib.getS("Enregistrer sous"));
setTester(tester);
@@ -94,6 +94,9 @@
return null;
}
File f = getSelectedFile();
+ if (tester_ instanceof CtuluFileChooserTestWritable) {
+ return ((CtuluFileChooserTestWritable) tester_).getDestFile(f, this);
+ }
return completeExtension(f);
}
Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluFileChooserTestWritable.java
===================================================================
--- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluFileChooserTestWritable.java 2016-02-19 18:33:17 UTC (rev 9278)
+++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluFileChooserTestWritable.java 2016-02-19 19:22:47 UTC (rev 9279)
@@ -55,7 +55,7 @@
}
else if (appendStrictExt_ && ext!=null) {
- return CtuluLibFile.appendStrictExtensionIfNeeded(_initFile, ext);
+ return CtuluLibFile.changeExtension(_initFile, ext);
}
return _initFile;
}
Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluFileChooserWriter.java
===================================================================
--- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluFileChooserWriter.java 2016-02-19 18:33:17 UTC (rev 9278)
+++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluFileChooserWriter.java 2016-02-19 19:22:47 UTC (rev 9279)
@@ -19,14 +19,14 @@
*
*/
public class CtuluFileChooserWriter extends CtuluFileChooser {
-
+
final List<CtuluWriter> listWriter_;
final CtuluUI ui_;
-
+
public CtuluFileChooserWriter(CtuluUI _ui, final List<CtuluWriter> _listWriter) {
-
+
ui_ = _ui;
-
+
if (_listWriter != null) {
listWriter_ = _listWriter;
} else {
@@ -44,8 +44,9 @@
setApproveButtonToolTipText(CtuluLib.getS("L'extension du fichier sera automatiquement compl\xE9t\xE9e"));
CtuluFileChooserTestWritable tester = new CtuluFileChooserTestWritable(_ui);
tester.setAppendExtension(true, null);
+ tester.setAppendStrictExtension(true);
setTester(tester);
-
+
}
/**
@@ -61,17 +62,17 @@
}
return null;
}
-
+
public File getDestFile() {
final int res = showDialog(ui_.getParentComponent(), BuResource.BU.getString("Continuer"));
if (res != JFileChooser.APPROVE_OPTION) {
return null;
}
File f = getSelectedFile();
-
+
return completeExtension(f);
}
-
+
private File completeExtension(File f) {
if (f == null) {
return null;
@@ -79,5 +80,5 @@
f = new File(f.getAbsolutePath() + getSelectedWriter().getMostPopularExtension());
return f;
}
-
+
}
Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTableExportTask.java
===================================================================
--- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTableExportTask.java 2016-02-19 18:33:17 UTC (rev 9278)
+++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTableExportTask.java 2016-02-19 19:22:47 UTC (rev 9279)
@@ -124,6 +124,7 @@
@Override
public void run() {
final CtuluTableModelInterface m = createDefaultModele(colToWrite, rowToWrite);
+ boolean ok = true;
try {
if (CtuluFileChooserCsvExcel.TypeChoosen.XLS.equals(choosenType_)) {
final CtuluTableExcelWriter w = new CtuluTableExcelWriter(m, dest_);
@@ -144,21 +145,24 @@
w.write(task.getStateReceiver());
}
} catch (final Exception e) {
+ ok = false;
ui_.error(dest_.getName(), e.getLocalizedMessage(), false);
}
- BuLib.invokeLater(new Runnable() {
- @Override
- public void run() {
- s.setVisible(false);
- if (parentDial_ != null) {
- parentDial_.getRootPane().remove(s);
- parentDial_.setCursor(Cursor.getDefaultCursor());
+ if (ok) {
+ BuLib.invokeLater(new Runnable() {
+ @Override
+ public void run() {
+ s.setVisible(false);
+ if (parentDial_ != null) {
+ parentDial_.getRootPane().remove(s);
+ parentDial_.setCursor(Cursor.getDefaultCursor());
+ }
+ ui_.message(CtuluResource.CTULU.getString("Export termin\xE9"), CtuluResource.CTULU.getString("Donn\xE9es export\xE9es dans le fichier\n {0}",
+ dest_.
+ getAbsolutePath()), true);
}
- ui_.message(CtuluResource.CTULU.getString("Export termin\xE9"), CtuluResource.CTULU.getString("Donn\xE9es export\xE9es dans le fichier\n {0}",
- dest_.
- getAbsolutePath()), true);
- }
- });
+ });
+ }
}
});
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|