diff options
author | stuconnolly <stuart02@gmail.com> | 2010-08-12 12:56:20 +0000 |
---|---|---|
committer | stuconnolly <stuart02@gmail.com> | 2010-08-12 12:56:20 +0000 |
commit | fc02f913371d522a025c47824fafeba8e3174da1 (patch) | |
tree | 086561fd418bf35139dda47d698d7923196a4f30 /Source/SPDotExporter.m | |
parent | 50f15c41936be3fb62384834bb3629e09018e67b (diff) | |
download | sequelpro-fc02f913371d522a025c47824fafeba8e3174da1.tar.gz sequelpro-fc02f913371d522a025c47824fafeba8e3174da1.tar.bz2 sequelpro-fc02f913371d522a025c47824fafeba8e3174da1.zip |
Various export enhancements and fixes, including:
- A new SPExportFile class, providing an abstract interface to the handling and creation of export files.
- Enables the centralisation of all file/file handle creation logic as well as better support for handling situations where files fail to be created, including files that already exist at the export location.
- New SPExportFileHandleStatus constants to support the reporting of file handle creation.
- Update SPExporter to use the new file class instead of directly using an instance of SPFileHandle.
- Add the necessary logic to deal with files that already exist on disk, by providing the user with 3 options: cancel the export, ignore the files in question or overwrite them. We might want to enhance this to make new files sequential in name to prevent overwriting. Fixes issue #742.
- New SPExportFileUtilities category, which centralises all the logic relating to writing export type headers as well as dealing with problems occurred during file/file handle creation.
- Improve feedback given on the export progress sheet during export initialisation.
- Tidy up and improve comments.
Diffstat (limited to 'Source/SPDotExporter.m')
-rw-r--r-- | Source/SPDotExporter.m | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Source/SPDotExporter.m b/Source/SPDotExporter.m index f10e1c97..a2db43af 100644 --- a/Source/SPDotExporter.m +++ b/Source/SPDotExporter.m @@ -42,6 +42,10 @@ /** * Initialise an instance of SPDotExporter using the supplied delegate. + * + * @param exportDelegate The exporter delegate + * + * @return The initialised instance */ - (id)initWithDelegate:(NSObject *)exportDelegate { @@ -97,7 +101,7 @@ [metaString appendString:@"\trankdir = LR;\n"]; // Write information to the file - [[self exportOutputFileHandle] writeData:[metaString dataUsingEncoding:NSUTF8StringEncoding]]; + [[self exportOutputFile] writeData:[metaString dataUsingEncoding:NSUTF8StringEncoding]]; NSMutableArray *fkInfo = [[NSMutableArray alloc] init]; @@ -144,7 +148,7 @@ [metaString appendString:@"\t\t];\n"]; [metaString appendString:@"\t}\n"]; - [[self exportOutputFileHandle] writeData:[metaString dataUsingEncoding:NSUTF8StringEncoding]]; + [[self exportOutputFile] writeData:[metaString dataUsingEncoding:NSUTF8StringEncoding]]; // see about relations columnInfo = [tableInfo objectForKey:@"constraints"]; @@ -192,10 +196,10 @@ [metaString appendString:@"}\n"]; // Write information to the file - [[self exportOutputFileHandle] writeData:[metaString dataUsingEncoding:NSUTF8StringEncoding]]; + [[self exportOutputFile] writeData:[metaString dataUsingEncoding:NSUTF8StringEncoding]]; // Write data to disk - [[self exportOutputFileHandle] closeFile]; + [[self exportOutputFile] close]; // Mark the process as not running [self setExportProcessIsRunning:NO]; |