aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPDotExporter.m
diff options
context:
space:
mode:
authorstuconnolly <stuart02@gmail.com>2010-08-12 12:56:20 +0000
committerstuconnolly <stuart02@gmail.com>2010-08-12 12:56:20 +0000
commitfc02f913371d522a025c47824fafeba8e3174da1 (patch)
tree086561fd418bf35139dda47d698d7923196a4f30 /Source/SPDotExporter.m
parent50f15c41936be3fb62384834bb3629e09018e67b (diff)
downloadsequelpro-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.m12
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];