@@ -10,10 +10,11 @@ package uk.gov.nationalarchives.csv.validator.ui
1010
1111import scala .swing ._
1212import resource ._
13+
1314import javax .swing ._
1415import net .java .dev .designgridlayout ._
15- import java .io .{File , FileInputStream , FileOutputStream , PrintWriter }
1616
17+ import java .io .{File , FileInputStream , FileOutputStream , IOException }
1718import table .DefaultTableModel
1819import uk .gov .nationalarchives .csv .validator .cmd .CsvValidatorCmdApp
1920
@@ -22,25 +23,20 @@ import uk.gov.nationalarchives.csv.validator.ui.DesignGridImplicits._
2223
2324import scala .swing .PopupMenuImplicits ._
2425import ScalaSwingHelpers ._
25- import java .awt .{Cursor , Font }
26- import java .util .Properties
2726
27+ import java .awt .Cursor
28+ import java .util .Properties
2829import scalax .file .Path
2930import uk .gov .nationalarchives .csv .validator .ProgressCallback
30- import java .nio .charset .Charset
3131
32+ import java .nio .charset .Charset
3233import uk .gov .nationalarchives .csv .validator .api .TextFile
34+
3335import java .util .jar .{Attributes , Manifest }
3436import java .net .URL
3537import java .nio .charset .StandardCharsets .UTF_8
3638import java .nio .file .{Files , StandardOpenOption }
3739
38- import scala .swing .Dialog .Message
39- import scala .swing .event .ButtonClicked
40- import javax .swing
41-
42- import scala .swing
43-
4440/**
4541 * Simple GUI for the CSV Validator
4642 *
@@ -153,9 +149,14 @@ object CsvValidatorUi extends SimpleSwingApplication {
153149 * @param s
154150 * @param f
155151 */
156- private def saveToFile (s : String , f : File ) {
152+ private def saveToFile (s : String , f : File ) : Option [ IOException ] = {
157153 val data : Array [Byte ] = s.getBytes(UTF_8 )
158- Files .write(f.toPath, data, StandardOpenOption .WRITE )
154+ try {
155+ Files .write(f.toPath, data, StandardOpenOption .WRITE , StandardOpenOption .CREATE_NEW )
156+ None
157+ } catch {
158+ case ioe : IOException => Some (ioe)
159+ }
159160 }
160161
161162 case class Settings (lastCsvPath : File , lastCsvSchemaPath : File , lastReportPath : File )
0 commit comments