Repository: incubator-ignite Updated Branches: refs/heads/ignite-843 7d6d4043c -> 136be5506
IGNITE-843: Added logging. Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6142cc1e Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6142cc1e Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6142cc1e Branch: refs/heads/ignite-843 Commit: 6142cc1e53cc6817bc6df996af276856e9cd6ca8 Parents: 3a1c152 Author: AKuznetsov <akuznet...@gridgain.com> Authored: Sat Aug 15 10:13:20 2015 +0700 Committer: AKuznetsov <akuznet...@gridgain.com> Committed: Sat Aug 15 10:13:20 2015 +0700 ---------------------------------------------------------------------- .../handlers/DatabaseMetadataExtractor.java | 34 +++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6142cc1e/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/DatabaseMetadataExtractor.java ---------------------------------------------------------------------- diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/DatabaseMetadataExtractor.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/DatabaseMetadataExtractor.java index 57f6720..a4dfc60 100644 --- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/DatabaseMetadataExtractor.java +++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/DatabaseMetadataExtractor.java @@ -25,12 +25,16 @@ import java.io.*; import java.net.*; import java.sql.*; import java.util.*; +import java.util.logging.*; /** * Remote API to extract database metadata. */ public class DatabaseMetadataExtractor { /** */ + private static final Logger log = Logger.getLogger(DatabaseMetadataExtractor.class.getName()); + + /** */ private final String driversFolder; /** @@ -60,12 +64,18 @@ public class DatabaseMetadataExtractor { @Remote public Collection<DbTable> extractMetadata(String jdbcDriverJarPath, String jdbcDriverCls, String jdbcUrl, Properties jdbcInfo, boolean tblsOnly) throws SQLException { + log.log(Level.INFO, "Collecting database metadata..."); + if (!new File(jdbcDriverJarPath).isAbsolute() && driversFolder != null) jdbcDriverJarPath = new File(driversFolder, jdbcDriverJarPath).getPath(); Connection conn = DbMetadataReader.getInstance().connect(jdbcDriverJarPath, jdbcDriverCls, jdbcUrl, jdbcInfo); - return DbMetadataReader.getInstance().extractMetadata(conn, tblsOnly); + Collection<DbTable> metadata = DbMetadataReader.getInstance().extractMetadata(conn, tblsOnly); + + log.log(Level.INFO, "Collected: " + metadata.size()); + + return metadata; } /** @@ -93,13 +103,21 @@ public class DatabaseMetadataExtractor { */ @Remote public List<JdbcDriver> availableDrivers() { - if (driversFolder == null) + log.log(Level.INFO, "Collecting JDBC drivers in folder: " + driversFolder); + + if (driversFolder == null) { + log.log(Level.INFO, "JDBC drivers folder not specified, returning empty list"); + return Collections.emptyList(); + } String[] list = new File(driversFolder).list(); - if (list == null) + if (list == null) { + log.log(Level.INFO, "JDBC drivers folder has no files, returning empty list"); + return Collections.emptyList(); + } List<JdbcDriver> res = new ArrayList<>(); @@ -111,10 +129,16 @@ public class DatabaseMetadataExtractor { URL url = new URL(spec.replace('\\', '/')); try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()))) { - res.add(new JdbcDriver(reader.readLine(), fileName)); + String jdbcDriverClass = reader.readLine(); + res.add(new JdbcDriver(jdbcDriverClass, fileName)); + + log.log(Level.INFO, "Found: [driver=" + fileName + ", class=" + jdbcDriverClass + "]"); } - } catch (IOException ignored) { + } catch (IOException e) { res.add(new JdbcDriver(null, fileName)); + + log.log(Level.INFO, "Found: [driver=" + fileName + "]"); + log.log(Level.INFO, "Failed to detect driver class: " + e.getMessage()); } } }