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;