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;