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.am.kasper.soren...@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")); } }