You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gora.apache.org by fe...@apache.org on 2012/03/03 12:35:50 UTC

svn commit: r1296607 - /gora/trunk/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java

Author: ferdy
Date: Sat Mar  3 11:35:50 2012
New Revision: 1296607

URL: http://svn.apache.org/viewvc?rev=1296607&view=rev
Log:
GORA-101 HBaseStore should properly support multiple tables in the mapping file. (part2)

Modified:
    gora/trunk/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java

Modified: gora/trunk/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java
URL: http://svn.apache.org/viewvc/gora/trunk/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java?rev=1296607&r1=1296606&r2=1296607&view=diff
==============================================================================
--- gora/trunk/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java (original)
+++ gora/trunk/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java Sat Mar  3 11:35:50 2012
@@ -555,6 +555,18 @@ implements Configurable {
                 persistentClass.getCanonicalName())) {
 
           String tableNameFromMapping = classElement.getAttributeValue("table");
+          String tableName = getSchemaName(tableNameFromMapping, persistentClass);
+          
+          //tableNameFromMapping could be null here
+          if (!tableName.equals(tableNameFromMapping)) {
+            log.info("Keyclass and nameclass match but mismatching table names " 
+                + " mappingfile schema is '" + tableNameFromMapping 
+                + "' vs actual schema '" + tableName + "' , assuming they are the same.");
+            if (tableNameFromMapping != null) {
+              mappingBuilder.renameTable(tableNameFromMapping, tableName);
+            }
+          }
+          mappingBuilder.setTableName(tableName);
 
           List<Element> fields = classElement.getChildren("field");
           for(Element field:fields) {
@@ -562,20 +574,11 @@ implements Configurable {
             String family =  field.getAttributeValue("family");
             String qualifier = field.getAttributeValue("qualifier");
             mappingBuilder.addField(fieldName, family, qualifier);
-            mappingBuilder.addColumnFamily(tableNameFromMapping, family);
+            mappingBuilder.addColumnFamily(tableName, family);
           }
           
-          String tableName = getSchemaName(tableNameFromMapping, persistentClass);
           
           
-          if (!tableNameFromMapping.equals(tableName)) {
-            log.info("Keyclass and nameclass match but mismatching table names " 
-                + " mappingfile schema is '" + tableNameFromMapping 
-                + "' vs actual schema '" + tableName + "' , assuming they are the same.");
-            mappingBuilder.renameTable(tableNameFromMapping, tableName);
-          }
-          mappingBuilder.setTableName(tableName);
-
           //we found a matching key and value class definition,
           //do not continue on other class definitions
           break;