You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metamodel.apache.org by ka...@apache.org on 2019/04/17 15:41:08 UTC

[metamodel] branch master updated: Improved HBase query building by scanning columns.

This is an automated email from the ASF dual-hosted git repository.

kaspersor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/metamodel.git


The following commit(s) were added to refs/heads/master by this push:
     new 17fc1e8  Improved HBase query building by scanning columns.
17fc1e8 is described below

commit 17fc1e8798627ca3afe57a2d794c9ca93ef2a788
Author: Kasper Sørensen <i....@gmail.com>
AuthorDate: Wed Apr 17 08:40:48 2019 -0700

    Improved HBase query building by scanning columns.
    
    Closes #218
    Closes #219
---
 CHANGES.md                                                        | 4 ++++
 .../main/java/org/apache/metamodel/hbase/HBaseDataContext.java    | 6 ++++--
 .../java/org/apache/metamodel/salesforce/SalesforceUtils.java     | 3 +++
 .../apache/metamodel/salesforce/SalesforceDataContextTest.java    | 8 ++------
 4 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index c51a5fd..d394feb 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,7 @@
+### Apache MetaModel _WIP_
+
+ * Improved HBase query building by scanning columns instead of column families.
+
 ### Apache MetaModel 5.3.0
 
  * [METAMODEL-1210] - Added a new connector for .arff files.
diff --git a/hbase/src/main/java/org/apache/metamodel/hbase/HBaseDataContext.java b/hbase/src/main/java/org/apache/metamodel/hbase/HBaseDataContext.java
index fd2125e..8d6e4e4 100644
--- a/hbase/src/main/java/org/apache/metamodel/hbase/HBaseDataContext.java
+++ b/hbase/src/main/java/org/apache/metamodel/hbase/HBaseDataContext.java
@@ -222,9 +222,11 @@ public class HBaseDataContext extends QueryPostprocessDataContext implements Upd
         for (Column column : columns) {
             if (!column.isPrimaryKey()) {
                 final int colonIndex = column.getName().indexOf(':');
+                final int len = column.getName().length();
                 if (colonIndex != -1) {
-                    String family = column.getName().substring(0, colonIndex);
-                    scan.addFamily(family.getBytes());
+                    final String family = column.getName().substring(0, colonIndex);
+                    final String colName = column.getName().substring(colonIndex + 1, len);
+                    scan.addColumn(family.getBytes(), colName.getBytes());
                 } else {
                     scan.addFamily(column.getName().getBytes());
                 }
diff --git a/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceUtils.java b/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceUtils.java
index a8cec1f..34c3fee 100644
--- a/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceUtils.java
+++ b/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceUtils.java
@@ -50,6 +50,9 @@ public class SalesforceUtils {
             }
             cause = cause.getCause(); 
         }
+        if (message == null) {
+            throw new IllegalStateException(whatWentWrong, cause);
+        }
         throw new IllegalStateException(whatWentWrong + ": " + message, cause);
     }
 }
diff --git a/salesforce/src/test/java/org/apache/metamodel/salesforce/SalesforceDataContextTest.java b/salesforce/src/test/java/org/apache/metamodel/salesforce/SalesforceDataContextTest.java
index 64f4eac..1a21aca 100644
--- a/salesforce/src/test/java/org/apache/metamodel/salesforce/SalesforceDataContextTest.java
+++ b/salesforce/src/test/java/org/apache/metamodel/salesforce/SalesforceDataContextTest.java
@@ -80,9 +80,7 @@ public class SalesforceDataContextTest extends SalesforceTestCase {
             new SalesforceDataContext("foo", "bar", "baz");
             fail("Exception expected");
         } catch (IllegalStateException e) {
-            assertEquals(
-                    "Failed to log in to Salesforce service: INVALID_LOGIN: Invalid username, password, security token; or user locked out.",
-                    e.getMessage());
+            assertTrue(e.getMessage(), e.getMessage().startsWith("Failed to log in to Salesforce service"));
         }
     }
 
@@ -103,9 +101,7 @@ public class SalesforceDataContextTest extends SalesforceTestCase {
             new SalesforceDataContext("https://non_existing_domain", "foo", "bar", "baz");
             fail("Exception expected");
         } catch (IllegalStateException e) {
-            assertEquals(
-                    "Failed to log in to Salesforce service: null",
-                    e.getMessage());
+            assertTrue(e.getMessage(), e.getMessage().startsWith("Failed to log in to Salesforce service"));
         }
     }