Skip to content

Commit

Permalink
Release v0.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
kawasima committed Jun 3, 2019
1 parent 0d1b8de commit ee4d043
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 16 deletions.
8 changes: 4 additions & 4 deletions project.clj
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
(defproject metabase/gremlin-driver "0.1.0-SNAPSHOT"
(defproject metabase/gremlin-driver "0.1.0"
:min-lein-version "2.5.0"
:dependencies [[org.apache.tinkerpop/gremlin-driver "3.4.1"]
[duct/core "0.7.0"]
[duct/module.logging "0.4.0"]]
:dependencies [[org.apache.tinkerpop/gremlin-driver "3.4.1"]]

:jvm-opts
["-XX:+IgnoreUnrecognizedVMOptions"]
Expand All @@ -23,6 +21,8 @@
}
:project/dev {:dependencies
[[org.apache.tinkerpop/gremlin-server "3.4.1"]
[duct/core "0.7.0"]
[duct/module.logging "0.4.0"]
[integrant/repl "0.3.1"]
[eftest "0.5.7"]]
:source-paths ["dev/src"]
Expand Down
13 changes: 11 additions & 2 deletions resources/metabase-plugin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,18 @@ driver:
display-name: Gremlin
connection-properties:
- name: host
display-name: host
display-name: Host
- name: port
display-name: port
display-name: Port
- name: protocol
display-name: "Protocol (default: HTTP)"
required: false
- name: username
display-name: Username
required: false
- name: password
display-name: Password
required: false
init:
- step: load-namespace
namespace: metabase.driver.gremlin
22 changes: 12 additions & 10 deletions src/metabase/driver/gremlin/util.clj
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,20 @@

(defn -with-gremlin-client
[f database]
(let [cluster (-> (Cluster/build)
(let [builder (-> (Cluster/build)
(.port (get database :port 8182))
(.addContactPoint (get database :host))
(.enableSsl (get database :ssl? false))
(.serializer (GraphSONMessageSerializerV2d0.))
; (.credentials username password)
(.create))
client (.connect cluster)]
(try
(binding [*gremlin-client* client]
(f *gremlin-client*))
(finally (.close client)))))
(.enableSsl (not= (get database :protocol "http") "http"))
(.serializer (GraphSONMessageSerializerV2d0.)))
username (:username database)
password (:password database)]
(when (and username password)
(.credentials builder username password))
(when-let [client (.connect (.create builder))]
(try
(binding [*gremlin-client* client]
(f *gremlin-client*))
(finally (.close client))))))

(defmacro with-gremlin-client
"Open a new Gremlin client"
Expand Down

0 comments on commit ee4d043

Please sign in to comment.