Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-843 24af0422a -> bd4499f5b


IGNITE-843: Minor fix for getting agent home folder.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/bd4499f5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/bd4499f5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/bd4499f5

Branch: refs/heads/ignite-843
Commit: bd4499f5b2518daf57f421349a3b14e91139b42e
Parents: 24af042
Author: AKuznetsov <akuznet...@gridgain.com>
Authored: Wed Aug 19 00:03:23 2015 +0700
Committer: AKuznetsov <akuznet...@gridgain.com>
Committed: Wed Aug 19 00:03:23 2015 +0700

----------------------------------------------------------------------
 .../org/apache/ignite/agent/AgentUtils.java     | 22 +++--------------
 .../handlers/DatabaseMetadataExtractor.java     | 26 ++++++++++++++------
 2 files changed, 22 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bd4499f5/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentUtils.java
----------------------------------------------------------------------
diff --git 
a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentUtils.java
 
b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentUtils.java
index 0675e3f..9ab952a 100644
--- 
a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentUtils.java
+++ 
b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentUtils.java
@@ -18,7 +18,7 @@
 package org.apache.ignite.agent;
 
 import java.io.*;
-import java.net.*;
+import java.nio.file.*;
 
 /**
  * Utility methods.
@@ -32,25 +32,9 @@ public class AgentUtils {
     }
 
     /**
-     * @return Folder where agent.jar is located.
+     * @return App folder.
      */
     public static File getAgentHome() {
-        URL jarLogCfgUrl = 
AgentLauncher.class.getResource("/logging.properties");
-
-        String path = jarLogCfgUrl.getFile();
-
-        int jarSeparatorIdx = path.lastIndexOf("!/");
-
-        if (jarSeparatorIdx == -1)
-            return null;
-
-        path = path.substring(0, jarSeparatorIdx);
-
-        if (path.startsWith("file:"))
-            path = path.substring("file:".length());
-
-        File jarFile = new File(path);
-
-        return jarFile.getParentFile();
+        return Paths.get("").toAbsolutePath().toFile();
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bd4499f5/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 a4dfc60..b01bdc5 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
@@ -58,7 +58,6 @@ public class DatabaseMetadataExtractor {
      * @param jdbcDriverCls JDBC driver class.
      * @param jdbcUrl JDBC URL.
      * @param jdbcInfo Properties to connect to database.
-     *
      * @return Collection of tables.
      */
     @Remote
@@ -98,20 +97,30 @@ public class DatabaseMetadataExtractor {
     }
 
     /**
+     * @param path Path to normalize.
+     * @return Normalized file path.
+     */
+    private String normalizePath(String path) {
+        return path != null ? path.replace('\\', '/') : null;
+    }
+
+    /**
      * @return Drivers in drivers folder
      * @see AgentConfiguration#driversFolder
      */
     @Remote
     public List<JdbcDriver> availableDrivers() {
-        log.log(Level.INFO, "Collecting JDBC drivers in folder: " + 
driversFolder);
+        String drvFolder = normalizePath(driversFolder);
 
-        if (driversFolder == null) {
+        log.log(Level.INFO, "Collecting JDBC drivers in folder: " + drvFolder);
+
+        if (drvFolder == null) {
             log.log(Level.INFO, "JDBC drivers folder not specified, returning 
empty list");
 
             return Collections.emptyList();
         }
 
-        String[] list = new File(driversFolder).list();
+        String[] list = new File(drvFolder).list();
 
         if (list == null) {
             log.log(Level.INFO, "JDBC drivers folder has no files, returning 
empty list");
@@ -124,17 +133,20 @@ public class DatabaseMetadataExtractor {
         for (String fileName : list) {
             if (fileName.endsWith(".jar")) {
                 try {
-                    String spec = "jar:file:/" + driversFolder + '/' + 
fileName + "!/META-INF/services/java.sql.Driver";
+                    String spec = normalizePath("jar:file:/" + drvFolder + '/' 
+ fileName +
+                        "!/META-INF/services/java.sql.Driver");
 
-                    URL url = new URL(spec.replace('\\', '/'));
+                    URL url = new URL(spec);
 
                     try (BufferedReader reader = new BufferedReader(new 
InputStreamReader(url.openStream()))) {
                         String jdbcDriverClass = reader.readLine();
+
                         res.add(new JdbcDriver(jdbcDriverClass, fileName));
 
                         log.log(Level.INFO, "Found: [driver=" + fileName + ", 
class=" + jdbcDriverClass + "]");
                     }
-                } catch (IOException e) {
+                }
+                catch (IOException e) {
                     res.add(new JdbcDriver(null, fileName));
 
                     log.log(Level.INFO, "Found: [driver=" + fileName + "]");

Reply via email to