You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jb...@apache.org on 2016/01/15 19:30:12 UTC

svn commit: r1724867 - in /lucene/dev/trunk/solr/solrj/src: java/org/apache/solr/client/solrj/io/sql/ test/org/apache/solr/client/solrj/io/sql/

Author: jbernste
Date: Fri Jan 15 18:30:11 2016
New Revision: 1724867

URL: http://svn.apache.org/viewvc?rev=1724867&view=rev
Log:
SOLR-8502: Implement DatabaseMetaDataImpl.getURL()

Modified:
    lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/ConnectionImpl.java
    lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DatabaseMetaDataImpl.java
    lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DriverImpl.java
    lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java

Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/ConnectionImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/ConnectionImpl.java?rev=1724867&r1=1724866&r2=1724867&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/ConnectionImpl.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/ConnectionImpl.java Fri Jan 15 18:30:11 2016
@@ -41,18 +41,24 @@ import org.apache.solr.client.solrj.io.S
 
 class ConnectionImpl implements Connection {
 
+  private final String url;
   private SolrClientCache sqlSolrClientCache = new SolrClientCache();
   private CloudSolrClient client;
   private String collection;
   Properties props;
   private boolean closed;
 
-  ConnectionImpl(String zkHost, String collection, Properties props) {
+  ConnectionImpl(String url, String zkHost, String collection, Properties props) {
+    this.url = url;
     this.client = sqlSolrClientCache.getCloudSolrClient(zkHost);
     this.collection = collection;
     this.props = props;
   }
 
+  String getUrl() {
+    return url;
+  }
+
   @Override
   public Statement createStatement() throws SQLException {
     return new StatementImpl(client, this.collection, props, sqlSolrClientCache);

Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DatabaseMetaDataImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DatabaseMetaDataImpl.java?rev=1724867&r1=1724866&r2=1724867&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DatabaseMetaDataImpl.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DatabaseMetaDataImpl.java Fri Jan 15 18:30:11 2016
@@ -42,7 +42,7 @@ class DatabaseMetaDataImpl implements Da
 
   @Override
   public String getURL() throws SQLException {
-    return null;
+    return this.connection.getUrl();
   }
 
   @Override

Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DriverImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DriverImpl.java?rev=1724867&r1=1724866&r2=1724867&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DriverImpl.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DriverImpl.java Fri Jan 15 18:30:11 2016
@@ -69,7 +69,7 @@ public class DriverImpl implements Drive
 
     String zkHost = uri.getAuthority() + uri.getPath();
 
-    return new ConnectionImpl(zkHost, collection, props);
+    return new ConnectionImpl(url, zkHost, collection, props);
   }
 
   public Connection connect(String url) throws SQLException {

Modified: lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java?rev=1724867&r1=1724866&r2=1724867&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java Fri Jan 15 18:30:11 2016
@@ -19,6 +19,7 @@ package org.apache.solr.client.solrj.io.
 
 import java.io.File;
 import java.sql.Connection;
+import java.sql.DatabaseMetaData;
 import java.sql.DriverManager;
 import java.sql.ResultSet;
 import java.sql.Statement;
@@ -299,5 +300,22 @@ public class JdbcTest extends AbstractFu
 
     stmt.close();
     con.close();
+
+    testDriverMetadata();
+  }
+
+  private void testDriverMetadata() throws Exception {
+    String collection = DEFAULT_COLLECTION;
+    String connectionString = "jdbc:solr://" + zkServer.getZkAddress() + "?collection=" + collection +
+        "&username=&password=&testKey1=testValue&testKey2";
+
+    try (Connection con = DriverManager.getConnection(connectionString)) {
+      assertEquals(collection, con.getCatalog());
+
+      DatabaseMetaData databaseMetaData = con.getMetaData();
+      assertNotNull(databaseMetaData);
+
+      assertEquals(connectionString, databaseMetaData.getURL());
+    }
   }
 }