]> source.dussan.org Git - jackcess.git/commitdiff
add file extension to FileFormat
authorJames Ahlborn <jtahlborn@yahoo.com>
Wed, 17 Mar 2010 03:02:47 +0000 (03:02 +0000)
committerJames Ahlborn <jtahlborn@yahoo.com>
Wed, 17 Mar 2010 03:02:47 +0000 (03:02 +0000)
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/branches/newformats@448 f203690c-595d-4dc9-a70b-905162fa7fd2

src/java/com/healthmarketscience/jackcess/Database.java
test/src/java/com/healthmarketscience/jackcess/JetFormatTest.java

index f1c10ff7b98c6c3612a104032657f6049858ca18..75e5911c547b2ab4563e55729f8231174eca15e8 100644 (file)
@@ -174,23 +174,28 @@ public class Database
     V1997(null, JetFormat.VERSION_3), // v97 is not supported, so no empty template is provided
     V2000("com/healthmarketscience/jackcess/empty.mdb", JetFormat.VERSION_4),
     V2003("com/healthmarketscience/jackcess/empty2003.mdb", JetFormat.VERSION_4),
-    V2007("com/healthmarketscience/jackcess/empty2007.accdb", JetFormat.VERSION_5);
-
-    private final String emptyFile;
-    private final JetFormat format;
-
-    /**
-     * @param emptyDBFile Empty database template for creating new databases.
-     * @param jetFormat JetFormat of the template.
-     */
-    FileFormat(final String emptyDBFile, final JetFormat jetFormat) {
-      emptyFile = emptyDBFile;
-      format = jetFormat;
+      V2007("com/healthmarketscience/jackcess/empty2007.accdb", JetFormat.VERSION_5, ".accdb");
+
+    private final String _emptyFile;
+    private final JetFormat _format;
+    private final String _ext;
+
+    private FileFormat(String emptyDBFile, JetFormat jetFormat) {
+      this(emptyDBFile, jetFormat, ".mdb");
     }
 
-    public JetFormat getJetFormat() { return format; }
+    private FileFormat(String emptyDBFile, JetFormat jetFormat, String ext) {
+      _emptyFile = emptyDBFile;
+      _format = jetFormat;
+      _ext = ext;
+    }
+
+    public JetFormat getJetFormat() { return _format; }
+
+    public String getFileExtension() { return _ext; }
 
-    public String toString() { return name() + ", jetFormat: " + format; }
+    @Override
+    public String toString() { return name() + ", jetFormat: " + getJetFormat(); }
   }
 
   /** Prefix for column or table names that are reserved words */
@@ -408,7 +413,7 @@ public class Database
     channel.truncate(0);
     channel.transferFrom(Channels.newChannel(
         Thread.currentThread().getContextClassLoader().getResourceAsStream(
-            fileFormat.emptyFile)), 0, Integer.MAX_VALUE);
+            fileFormat._emptyFile)), 0, Integer.MAX_VALUE);
     return new Database(channel, autoSync);
   }
 
index a25810e7947e69bd831312bd72115a4359dad848..96365e4a353a3ebcc41b59adcb1177bf0c653cf7 100644 (file)
@@ -90,15 +90,9 @@ public final class JetFormatTest extends TestCase {
 
         private static File getFileForBasename(Basename basename, Database.FileFormat fileFormat) {
 
-            final String filenameExtension;
-            if (Database.FileFormat.V2007.equals(fileFormat)) {
-                filenameExtension = ".accdb";
-            } else {
-                filenameExtension = ".mdb";
-            }
-
             return new File(DIR_TEST_DATA, 
-                    fileFormat.name() + "/" + basename.basename + fileFormat.name() + filenameExtension);
+                            fileFormat.name() + "/" + basename.basename + fileFormat.name() + 
+                            fileFormat.getFileExtension());
         }
     }