Author: reschke
Date: Thu Jun 18 14:19:38 2015
New Revision: 1686229

URL: http://svn.apache.org/r1686229
Log:
OAK-1266 - RDBHelper: un-hardwire set of DocumentStore table names

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBHelper.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java?rev=1686229&r1=1686228&r2=1686229&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
 Thu Jun 18 14:19:38 2015
@@ -72,6 +72,8 @@ import org.apache.jackrabbit.oak.plugins
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import aQute.lib.collections.SortedList;
+
 import com.google.common.base.Objects;
 import com.google.common.cache.Cache;
 import com.google.common.collect.ImmutableMap;
@@ -318,6 +320,23 @@ public class RDBDocumentStore implements
         return this.droppedTables;
     }
 
+    // table names
+    private static Map<Object, String> TABLEMAP;
+    private static List<String> TABLENAMES;
+    static {
+        Map<Object, String> tmp = new HashMap<Object, String>();
+        tmp.put(Collection.CLUSTER_NODES, "CLUSTERNODES");
+        tmp.put(Collection.JOURNAL, "JOURNAL");
+        tmp.put(Collection.NODES, "NODES");
+        tmp.put(Collection.SETTINGS, "SETTINGS");
+        TABLEMAP = Collections.unmodifiableMap(tmp);
+        TABLENAMES = Collections.unmodifiableList(new 
SortedList<String>(TABLEMAP.values()));
+    }
+
+    public static List<String> getTableNames() {
+        return TABLENAMES;
+    }
+
     @Override
     public void dispose() {
         if (!this.tablesToBeDropped.isEmpty()) {
@@ -810,10 +829,10 @@ public class RDBDocumentStore implements
 
     private void initialize(DataSource ds, DocumentMK.Builder builder, 
RDBOptions options) throws Exception {
 
-        this.tnNodes = RDBJDBCTools.createTableName(options.getTablePrefix(), 
"NODES");
-        this.tnClusterNodes = 
RDBJDBCTools.createTableName(options.getTablePrefix(), "CLUSTERNODES");
-        this.tnSettings = 
RDBJDBCTools.createTableName(options.getTablePrefix(), "SETTINGS");
-        this.tnJournal = 
RDBJDBCTools.createTableName(options.getTablePrefix(), "JOURNAL");
+        this.tnNodes = RDBJDBCTools.createTableName(options.getTablePrefix(), 
TABLEMAP.get(Collection.NODES));
+        this.tnClusterNodes = 
RDBJDBCTools.createTableName(options.getTablePrefix(), 
TABLEMAP.get(Collection.CLUSTER_NODES));
+        this.tnSettings = 
RDBJDBCTools.createTableName(options.getTablePrefix(), 
TABLEMAP.get(Collection.SETTINGS));
+        this.tnJournal = 
RDBJDBCTools.createTableName(options.getTablePrefix(), 
TABLEMAP.get(Collection.JOURNAL));
 
         this.ch = new RDBConnectionHandler(ds);
         this.callStack = LOG.isDebugEnabled() ? new Exception("call stack of 
RDBDocumentStore creation") : null;

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBHelper.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBHelper.java?rev=1686229&r1=1686228&r2=1686229&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBHelper.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBHelper.java
 Thu Jun 18 14:19:38 2015
@@ -17,11 +17,13 @@
 package org.apache.jackrabbit.oak.plugins.document.rdb;
 
 /**
- * Convenience class that dumps the table creation statements for various 
database types.
+ * Convenience class that dumps the table creation statements for various
+ * database types.
  */
 public class RDBHelper {
 
-    private static String[] databases = { "Apache Derby", "DB2", "H2", 
"Microsoft SQL Server", "MySQL", "Oracle", "PostgreSQL", "default" };
+    private static String[] databases = { "Apache Derby", "DB2", "H2", 
"Microsoft SQL Server", "MySQL", "Oracle", "PostgreSQL",
+            "default" };
 
     public static void main(String[] args) {
         for (String database : databases) {
@@ -31,9 +33,11 @@ public class RDBHelper {
             RDBDocumentStore.DB ddb = RDBDocumentStore.DB.getValue(database);
             RDBBlobStore.DB bdb = RDBBlobStore.DB.getValue(database);
 
-            System.out.println("  " + 
ddb.getTableCreationStatement("CLUSTERNODES"));
-            System.out.println("  " + ddb.getTableCreationStatement("NODES"));
-            System.out.println("  " + 
ddb.getTableCreationStatement("SETTINGS"));
+            for (String table : RDBDocumentStore.getTableNames())  {
+                System.out.println("  " + 
ddb.getTableCreationStatement(table));
+            }
+            System.out.println();
+
             System.out.println("  " + 
bdb.getMetaTableCreationStatement("DATASTORE_META"));
             System.out.println("  " + 
bdb.getDataTableCreationStatement("DATASTORE_DATA"));
             System.out.println();


Reply via email to