LENS-896 : Fix setting of baseurl on jdbc client
Project: http://git-wip-us.apache.org/repos/asf/lens/repo Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/d5e923e2 Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/d5e923e2 Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/d5e923e2 Branch: refs/heads/current-release-line Commit: d5e923e25b00c4f718d971706cac916dcafd5a72 Parents: fdf04be Author: Piyush <[email protected]> Authored: Thu Jan 7 11:53:52 2016 +0530 Committer: Amareshwari Sriramadasu <[email protected]> Committed: Thu Jan 7 11:53:52 2016 +0530 ---------------------------------------------------------------------- .../java/org/apache/lens/client/jdbc/JDBCUtils.java | 16 +++++++++++----- .../org/apache/lens/jdbc/JDBCUrlParserTest.java | 7 +++---- 2 files changed, 14 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lens/blob/d5e923e2/lens-client/src/main/java/org/apache/lens/client/jdbc/JDBCUtils.java ---------------------------------------------------------------------- diff --git a/lens-client/src/main/java/org/apache/lens/client/jdbc/JDBCUtils.java b/lens-client/src/main/java/org/apache/lens/client/jdbc/JDBCUtils.java index 34448d3..4c32610 100644 --- a/lens-client/src/main/java/org/apache/lens/client/jdbc/JDBCUtils.java +++ b/lens-client/src/main/java/org/apache/lens/client/jdbc/JDBCUtils.java @@ -32,6 +32,9 @@ import java.util.jar.Manifest; import java.util.regex.Matcher; import java.util.regex.Pattern; +import javax.ws.rs.core.UriBuilder; + +import org.apache.lens.client.LensClientConfig; import org.apache.lens.client.LensConnectionParams; /** @@ -97,11 +100,6 @@ public final class JDBCUtils { } URI jdbcUri = URI.create(uri.substring(URI_JDBC_PREFIX.length())); - - /* - * if (jdbcUri.getHost() != null) { params.setHost(jdbcUri.getHost()); } if (jdbcUri.getPort() > 0) { - * params.setPort(jdbcUri.getPort()); } - */ Pattern pattern = Pattern.compile(KEY_VALUE_REGEX); // dbname and session settings String sessVars = jdbcUri.getPath(); @@ -145,6 +143,14 @@ public final class JDBCUtils { params.getLensVars().put(varMatcher.group(1), varMatcher.group(2)); } } + UriBuilder baseUriBuilder = UriBuilder.fromUri(LensClientConfig.DEFAULT_SERVER_BASE_URL); + if (jdbcUri.getHost() != null) { + baseUriBuilder.host(jdbcUri.getHost()); + } + if (jdbcUri.getPort() != -1) { + baseUriBuilder.port(jdbcUri.getPort()); + } + params.setBaseUrl(baseUriBuilder.build().toString()); return params; } http://git-wip-us.apache.org/repos/asf/lens/blob/d5e923e2/lens-client/src/test/java/org/apache/lens/jdbc/JDBCUrlParserTest.java ---------------------------------------------------------------------- diff --git a/lens-client/src/test/java/org/apache/lens/jdbc/JDBCUrlParserTest.java b/lens-client/src/test/java/org/apache/lens/jdbc/JDBCUrlParserTest.java index 3c97878..c8b51b9 100644 --- a/lens-client/src/test/java/org/apache/lens/jdbc/JDBCUrlParserTest.java +++ b/lens-client/src/test/java/org/apache/lens/jdbc/JDBCUrlParserTest.java @@ -78,10 +78,9 @@ public class JDBCUrlParserTest { public void testJDBCWithCustomHostAndPortAndDB() { String uri = "jdbc:lens://myhost:9000/mydb"; LensConnectionParams params = JDBCUtils.parseUrl(uri); - // Assert.assertEquals( "myhost", - // params.getHost(),"The host name should be myhost"); - // Assert.assertEquals( 9000, params.getPort(),"The port should be 9000"); - Assert.assertEquals("mydb", params.getDbName(), "The database should be mydb"); + Assert.assertEquals(params.getBaseConnectionUrl(), "http://myhost:9000/lensapi", + "The base url should be http://myhost:9000/lensapi"); + Assert.assertEquals(params.getDbName(), "mydb", "The database should be mydb"); Assert.assertTrue(params.getSessionVars().isEmpty(), "Session Variable list should be empty"); Assert.assertTrue(params.getLensConfs().isEmpty(), "The conf list should be empty"); Assert.assertTrue(params.getLensVars().isEmpty(), "The lens var list should be empty");
