neo4j 1.1.0.beta.3-java → 1.1.0-java

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,4 +1,27 @@
1
- == 0.4.4 / 2010-08-01
1
+ == 1.1.0 / 2011-05-13
2
+ * Support for embedding neo4j.rb by providing an already running db instance (#168)
3
+ * Neo4j::Rails::Relationships should be ActiveModel compliant (#156)
4
+ * Support for incoming relationships in Neo4j::Rails::Model (#157)
5
+ * to_json method for models no tags √ resolved (#154)
6
+ * Implement hash so that it will work with Sets (#160)
7
+ * Modified the traverser to allow iterating over paths not just over end_nodes (#161)
8
+ * Create method should take a block to initialize itself (#162)
9
+ * Upgrade to 1.3 neo4j java library (#164)
10
+ * Default `nodes' invocation for Algo path finders (#165)
11
+ * Property and index class methods modified to take arbitrary number of symbols optionally followed by options hash (#166)
12
+ * BUG: Setting property :system on Neo4j::Rails::Model should work (#163)
13
+ * BUG: update_attributes should convert values according to Type (#155)
14
+ * BUG: Neo4j::RelationshipMixin#relationship_type broken #(169)
15
+ * BUG: Relationship.load(nil) == Relationship.load(0) (#167)
16
+ * BUG: Full text search returns nil in rails model (#153)
17
+
18
+ == 1.0.0 / 2011-03-02
19
+ * Complete rewrite of everything.
20
+ * Replaced the lucene module with using the java neo4j-lucene integration instead
21
+ * Lots of improvements of the API
22
+ * Better ActiveModel/Rails integration
23
+
24
+ == 0.4.4 / 2010-08-01
2
25
  * Fixed bug on traversing when using the RelationshipMixin (#121)
3
26
  * BatchInserter and JRuby 1.6 - Fix iteration error with trying to modify in-place hash
4
27
 
@@ -64,13 +64,28 @@ module Neo4j
64
64
  def start_ha_graph_db
65
65
  Neo4j.logger.info "starting Neo4j in HA mode, machine id: #{Neo4j.config['ha.machine_id']} at #{Neo4j.config['ha.server']} db #{@storage_path}"
66
66
  Neo4j.load_ha_jars # those jars are only needed for the HighlyAvailableGraphDatabase
67
- Neo4j.load_online_backup if Neo4j.config[:online_backup_enabled]
67
+ Neo4j.load_online_backup if Neo4j.config[:online_backup_enabled]
68
68
  @graph = org.neo4j.kernel.HighlyAvailableGraphDatabase.new(@storage_path, Neo4j.config.to_java_map)
69
69
  @graph.register_transaction_event_handler(@event_handler)
70
70
  @lucene = @graph.index #org.neo4j.index.impl.lucene.LuceneIndexProvider.new
71
71
  @event_handler.neo4j_started(self)
72
72
  end
73
73
 
74
+ def start_external_db(external_graph_db)
75
+ begin
76
+ @running = true
77
+ @graph = external_graph_db
78
+ Neo4j.migrate!
79
+ @graph.register_transaction_event_handler(@event_handler)
80
+ @lucene = @graph.index #org.neo4j.index.impl.lucene.LuceneIndexProvider.new
81
+ @event_handler.neo4j_started(self)
82
+ Neo4j.logger.info("Started with external db")
83
+ rescue
84
+ @running = false
85
+ raise
86
+ end
87
+ end
88
+
74
89
  def running? #:nodoc:
75
90
  @running
76
91
  end
@@ -100,8 +115,8 @@ module Neo4j
100
115
  @graph.unregister_transaction_event_handler(@event_handler) unless read_only?
101
116
  @event_handler.neo4j_shutdown(self)
102
117
  @graph.shutdown
103
- @graph = nil
104
- @lucene = nil
118
+ @graph = nil
119
+ @lucene = nil
105
120
  @running = false
106
121
  @neo4j_manager = nil
107
122
  end
@@ -16,13 +16,22 @@ module Neo4j
16
16
  class << self
17
17
  # Start Neo4j using the default database.
18
18
  # This is usally not required since the database will be started automatically when it is used.
19
+ # If the global variable $NEO4J_SERVER is defined then it will use that as the Java Graph DB. This can
20
+ # be used if you want to embed neo4j.rb and already got an instance of the Java Neo4j Database service.
19
21
  #
20
22
  # ==== Parameters
21
23
  # config_file :: (optionally) if this is nil or not given use the Neo4j::Config, otherwise setup the Neo4j::Config file using the provided YAML configuration file.
22
- #
23
- def start(config_file=nil)
24
+ # external_db :: (optionally) use this Java Neo4j instead of creating a new neo4j database service
25
+ def start(config_file=nil, external_db = $NEO4J_SERVER)
26
+ return if @db && @db.running?
27
+
24
28
  Neo4j.config.default_file = config_file if config_file
25
- db.start unless db.running?
29
+ if external_db
30
+ @db ||= Database.new
31
+ self.db.start_external_db(external_db)
32
+ else
33
+ db.start
34
+ end
26
35
  end
27
36
 
28
37
 
@@ -41,10 +50,11 @@ module Neo4j
41
50
  def read_only?
42
51
  @db && @db.graph && @db.graph.read_only?
43
52
  end
44
-
53
+
45
54
  # Returns a started db instance. Starts it's not running.
55
+ # if $NEO4J_SERVER is defined then use that Java Neo4j Database service instead of creating a new one.
46
56
  def started_db
47
- db.start unless db.running?
57
+ start unless db.running?
48
58
  db
49
59
  end
50
60
 
@@ -166,6 +176,6 @@ module Neo4j
166
176
  def event_handler(this_db = db)
167
177
  this_db.event_handler
168
178
  end
169
-
179
+
170
180
  end
171
181
  end
@@ -165,6 +165,7 @@ module Neo4j
165
165
  # Same as load but does not return the node as a wrapped Ruby object.
166
166
  #
167
167
  def _load(rel_id, db = Neo4j.started_db)
168
+ return nil if rel_id.nil?
168
169
  rel = db.graph.get_relationship_by_id(rel_id.to_i)
169
170
  rel.hasProperty('_classname') # since we want a IllegalStateException which is otherwise not triggered
170
171
  rel
@@ -108,7 +108,7 @@ module Neo4j
108
108
  # the relationship type (of type Symbol)
109
109
  #
110
110
  def relationship_type
111
- get_type.name.to_sym
111
+ @_java_rel.getType.name.to_sym
112
112
  end
113
113
 
114
114
  # --------------------------------------------------------------------------
@@ -139,4 +139,4 @@ module Neo4j
139
139
  end
140
140
  end
141
141
  end
142
- end
142
+ end
@@ -1,3 +1,3 @@
1
1
  module Neo4j
2
- VERSION = "1.1.0.beta.3"
2
+ VERSION = "1.1.0"
3
3
  end
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: neo4j
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: 6
5
- version: 1.1.0.beta.3
4
+ prerelease:
5
+ version: 1.1.0
6
6
  platform: java
7
7
  authors:
8
8
  - Andreas Ronge
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-05-10 00:00:00 +02:00
13
+ date: 2011-05-13 00:00:00 +02:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -211,9 +211,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
211
211
  required_rubygems_version: !ruby/object:Gem::Requirement
212
212
  none: false
213
213
  requirements:
214
- - - ">"
214
+ - - ">="
215
215
  - !ruby/object:Gem::Version
216
- version: 1.3.1
216
+ version: "0"
217
217
  requirements: []
218
218
 
219
219
  rubyforge_project: neo4j