geoff-importer 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/geoff-importer.gemspec +3 -1
- data/lib/geoff-importer.rb +4 -1
- data/lib/geoff-importer/importer.rb +24 -5
- data/lib/geoff-importer/version.rb +1 -1
- data/spec/integration/importer_spec.rb +1 -3
- metadata +38 -13
- data/.rvmrc +0 -54
data/.gitignore
CHANGED
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
geoff
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
jruby-1.7.0
|
data/geoff-importer.gemspec
CHANGED
@@ -21,7 +21,9 @@ Gem::Specification.new do |gem|
|
|
21
21
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
22
22
|
gem.require_paths = ["lib"]
|
23
23
|
|
24
|
-
gem.add_dependency("neo4j-community",
|
24
|
+
gem.add_dependency("neo4j-community", '1.8.0')
|
25
|
+
gem.add_dependency("neo4j-advanced", '1.8.0')
|
26
|
+
gem.add_dependency("neo4j-enterprise", '1.8.0')
|
25
27
|
|
26
28
|
gem.add_development_dependency 'jruby-openssl'
|
27
29
|
gem.add_development_dependency 'rake'
|
data/lib/geoff-importer.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
require 'neo4j-community'
|
3
|
-
|
3
|
+
require 'neo4j-advanced'
|
4
|
+
require 'neo4j-enterprise'
|
5
|
+
|
6
|
+
Dir[File.join("#{File.dirname(__FILE__)}", "jars", "*.jar")].each { |file| require file }
|
4
7
|
|
5
8
|
require "geoff-importer/version"
|
6
9
|
require "geoff-importer/importer"
|
@@ -18,13 +18,16 @@ class Geoff
|
|
18
18
|
|
19
19
|
Subgraph = org.neo4j.geoff.Subgraph
|
20
20
|
EmbeddedDB = Java::OrgNeo4jKernel::EmbeddedGraphDatabase
|
21
|
+
HaDb = Java::OrgNeo4jKernel::HighlyAvailableGraphDatabase
|
21
22
|
|
22
23
|
class << self
|
23
|
-
def import geoff, db, node_map = {}
|
24
|
-
|
25
|
-
|
24
|
+
def import geoff, db, node_map = {}, options = {}
|
25
|
+
@options = options
|
26
|
+
|
27
|
+
set_geoff(geoff)
|
28
|
+
set_db(db)
|
26
29
|
|
27
|
-
import_geoff
|
30
|
+
import_geoff(node_map)
|
28
31
|
shutdown if db.is_a? String
|
29
32
|
end
|
30
33
|
|
@@ -63,7 +66,23 @@ class Geoff
|
|
63
66
|
|
64
67
|
def start_db(db_path)
|
65
68
|
Geoff.log 'starting database'
|
66
|
-
@graph_db =
|
69
|
+
@graph_db = if ha_enabled?
|
70
|
+
start_ha_db(db_path)
|
71
|
+
else
|
72
|
+
start_embedded_db(db_path)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
def start_embedded_db(db_path)
|
77
|
+
EmbeddedDB.new(db_path)
|
78
|
+
end
|
79
|
+
|
80
|
+
def start_ha_db(db_path)
|
81
|
+
HaDb.new(db_path, @options)
|
82
|
+
end
|
83
|
+
|
84
|
+
def ha_enabled?
|
85
|
+
!!@options['ha.db']
|
67
86
|
end
|
68
87
|
|
69
88
|
def shutdown
|
@@ -3,13 +3,11 @@ require 'geoff-importer'
|
|
3
3
|
|
4
4
|
describe Geoff::Importer do
|
5
5
|
let(:db_path) { './db/test'}
|
6
|
-
let(:geoff_string) { '(A) {"name": "Alice"}' }
|
7
|
-
|
6
|
+
let(:geoff_string) { '(A) {"name": "Alice", "test_array":["value1", "value2"]}' }
|
8
7
|
|
9
8
|
context 'running db' do
|
10
9
|
it 'raises error if db is passed in as string' do
|
11
10
|
db = Java::OrgNeo4jKernel::EmbeddedGraphDatabase.new(db_path)
|
12
|
-
# debugger
|
13
11
|
expect { Geoff::Importer.import(geoff_string, db_path) }.to raise_error
|
14
12
|
db.shutdown
|
15
13
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: geoff-importer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,29 +9,53 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-06-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: neo4j-community
|
16
16
|
version_requirements: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - '='
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 1.8.0
|
21
|
+
none: false
|
22
|
+
requirement: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '='
|
19
25
|
- !ruby/object:Gem::Version
|
20
|
-
version: 1.8.
|
21
|
-
|
22
|
-
|
26
|
+
version: 1.8.0
|
27
|
+
none: false
|
28
|
+
prerelease: false
|
29
|
+
type: :runtime
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: neo4j-advanced
|
32
|
+
version_requirements: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - '='
|
23
35
|
- !ruby/object:Gem::Version
|
24
|
-
version:
|
36
|
+
version: 1.8.0
|
25
37
|
none: false
|
26
38
|
requirement: !ruby/object:Gem::Requirement
|
27
39
|
requirements:
|
28
|
-
- -
|
40
|
+
- - '='
|
29
41
|
- !ruby/object:Gem::Version
|
30
|
-
version: 1.8.
|
31
|
-
|
32
|
-
|
42
|
+
version: 1.8.0
|
43
|
+
none: false
|
44
|
+
prerelease: false
|
45
|
+
type: :runtime
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: neo4j-enterprise
|
48
|
+
version_requirements: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - '='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 1.8.0
|
53
|
+
none: false
|
54
|
+
requirement: !ruby/object:Gem::Requirement
|
55
|
+
requirements:
|
56
|
+
- - '='
|
33
57
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
58
|
+
version: 1.8.0
|
35
59
|
none: false
|
36
60
|
prerelease: false
|
37
61
|
type: :runtime
|
@@ -115,7 +139,8 @@ files:
|
|
115
139
|
- .gitignore
|
116
140
|
- .rbenv-version
|
117
141
|
- .rspec
|
118
|
-
- .
|
142
|
+
- .ruby-gemset
|
143
|
+
- .ruby-version
|
119
144
|
- Gemfile
|
120
145
|
- LICENSE.txt
|
121
146
|
- README.md
|
data/.rvmrc
DELETED
@@ -1,54 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
|
3
|
-
# This is an RVM Project .rvmrc file, used to automatically load the ruby
|
4
|
-
# development environment upon cd'ing into the directory
|
5
|
-
|
6
|
-
# First we specify our desired <ruby>[@<gemset>], the @gemset name is optional,
|
7
|
-
# Only full ruby name is supported here, for short names use:
|
8
|
-
# echo "rvm use jruby" > .rvmrc
|
9
|
-
environment_id="jruby-1.7.0@geoff"
|
10
|
-
export JRUBY_OPTS='-J-Xms1024m -J-Xmx1024m -J-XX:+UseConcMarkSweepGC -J-XX:MaxPermSize=512m -J-Djruby.thread.pooling=true'
|
11
|
-
|
12
|
-
# Uncomment the following lines if you want to verify rvm version per project
|
13
|
-
# rvmrc_rvm_version="1.16.19 (stable)" # 1.10.1 seams as a safe start
|
14
|
-
# eval "$(echo ${rvm_version}.${rvmrc_rvm_version} | awk -F. '{print "[[ "$1*65536+$2*256+$3" -ge "$4*65536+$5*256+$6" ]]"}' )" || {
|
15
|
-
# echo "This .rvmrc file requires at least RVM ${rvmrc_rvm_version}, aborting loading."
|
16
|
-
# return 1
|
17
|
-
# }
|
18
|
-
|
19
|
-
# Uncomment following line if you want options to be set only for given project.
|
20
|
-
# PROJECT_JRUBY_OPTS=( --1.9 )
|
21
|
-
# The variable PROJECT_JRUBY_OPTS requires the following to be run in shell:
|
22
|
-
# chmod +x ${rvm_path}/hooks/after_use_jruby_opts
|
23
|
-
|
24
|
-
# First we attempt to load the desired environment directly from the environment
|
25
|
-
# file. This is very fast and efficient compared to running through the entire
|
26
|
-
# CLI and selector. If you want feedback on which environment was used then
|
27
|
-
# insert the word 'use' after --create as this triggers verbose mode.
|
28
|
-
if [[ -d "${rvm_path:-$HOME/.rvm}/environments"
|
29
|
-
&& -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]]
|
30
|
-
then
|
31
|
-
\. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
|
32
|
-
[[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]] &&
|
33
|
-
\. "${rvm_path:-$HOME/.rvm}/hooks/after_use" || true
|
34
|
-
else
|
35
|
-
# If the environment file has not yet been created, use the RVM CLI to select.
|
36
|
-
rvm --create "$environment_id" || {
|
37
|
-
echo "Failed to create RVM environment '${environment_id}'."
|
38
|
-
return 1
|
39
|
-
}
|
40
|
-
fi
|
41
|
-
|
42
|
-
# If you use bundler, this might be useful to you:
|
43
|
-
# if [[ -s Gemfile ]] && {
|
44
|
-
# ! builtin command -v bundle >/dev/null ||
|
45
|
-
# builtin command -v bundle | GREP_OPTIONS= \grep $rvm_path/bin/bundle >/dev/null
|
46
|
-
# }
|
47
|
-
# then
|
48
|
-
# printf "%b" "The rubygem 'bundler' is not installed. Installing it now.\n"
|
49
|
-
# gem install bundler
|
50
|
-
# fi
|
51
|
-
# if [[ -s Gemfile ]] && builtin command -v bundle >/dev/null
|
52
|
-
# then
|
53
|
-
# bundle install | GREP_OPTIONS= \grep -vE '^Using|Your bundle is complete'
|
54
|
-
# fi
|