neo4j-wrapper 0.0.2-java → 0.0.3-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. data/lib/neo4j/node_mixin.rb +3 -22
  2. data/lib/neo4j/relationship_mixin.rb +2 -19
  3. data/lib/neo4j-wrapper/class_methods.rb +36 -0
  4. data/lib/neo4j-wrapper/rule/functions/{count.rb → size.rb} +2 -2
  5. data/lib/neo4j-wrapper/rule/rule.rb +9 -1
  6. data/lib/neo4j-wrapper/rule/rule_node.rb +1 -1
  7. data/lib/neo4j-wrapper/version.rb +1 -1
  8. data/lib/neo4j-wrapper.rb +1 -1
  9. data/neo4j-wrapper.gemspec +1 -1
  10. metadata +4 -57
  11. data/lib/db/active_tx_log +0 -1
  12. data/lib/db/index/lucene/node/Person_exact/_0.fdt +0 -0
  13. data/lib/db/index/lucene/node/Person_exact/_0.fdx +0 -0
  14. data/lib/db/index/lucene/node/Person_exact/_0.fnm +0 -1
  15. data/lib/db/index/lucene/node/Person_exact/_0.frq +0 -0
  16. data/lib/db/index/lucene/node/Person_exact/_0.nrm +0 -1
  17. data/lib/db/index/lucene/node/Person_exact/_0.prx +0 -0
  18. data/lib/db/index/lucene/node/Person_exact/_0.tii +0 -0
  19. data/lib/db/index/lucene/node/Person_exact/_0.tis +0 -0
  20. data/lib/db/index/lucene/node/Person_exact/_1.fdt +0 -0
  21. data/lib/db/index/lucene/node/Person_exact/_1.fdx +0 -0
  22. data/lib/db/index/lucene/node/Person_exact/_1.fnm +0 -1
  23. data/lib/db/index/lucene/node/Person_exact/_1.frq +0 -0
  24. data/lib/db/index/lucene/node/Person_exact/_1.nrm +0 -1
  25. data/lib/db/index/lucene/node/Person_exact/_1.prx +0 -0
  26. data/lib/db/index/lucene/node/Person_exact/_1.tii +0 -0
  27. data/lib/db/index/lucene/node/Person_exact/_1.tis +0 -0
  28. data/lib/db/index/lucene/node/Person_exact/_2.fdt +0 -0
  29. data/lib/db/index/lucene/node/Person_exact/_2.fdx +0 -0
  30. data/lib/db/index/lucene/node/Person_exact/_2.fnm +0 -1
  31. data/lib/db/index/lucene/node/Person_exact/_2.frq +0 -0
  32. data/lib/db/index/lucene/node/Person_exact/_2.nrm +0 -1
  33. data/lib/db/index/lucene/node/Person_exact/_2.prx +0 -0
  34. data/lib/db/index/lucene/node/Person_exact/_2.tii +0 -0
  35. data/lib/db/index/lucene/node/Person_exact/_2.tis +0 -0
  36. data/lib/db/index/lucene/node/Person_exact/segments.gen +0 -0
  37. data/lib/db/index/lucene/node/Person_exact/segments_3 +0 -0
  38. data/lib/db/index/lucene-store.db +0 -0
  39. data/lib/db/index/lucene.log.active +0 -0
  40. data/lib/db/index.db +0 -0
  41. data/lib/db/messages.log +0 -826
  42. data/lib/db/neostore +0 -0
  43. data/lib/db/neostore.id +0 -0
  44. data/lib/db/neostore.nodestore.db +0 -0
  45. data/lib/db/neostore.nodestore.db.id +0 -0
  46. data/lib/db/neostore.propertystore.db +0 -0
  47. data/lib/db/neostore.propertystore.db.arrays +0 -0
  48. data/lib/db/neostore.propertystore.db.arrays.id +0 -0
  49. data/lib/db/neostore.propertystore.db.id +0 -0
  50. data/lib/db/neostore.propertystore.db.index +0 -0
  51. data/lib/db/neostore.propertystore.db.index.id +0 -0
  52. data/lib/db/neostore.propertystore.db.index.keys +0 -0
  53. data/lib/db/neostore.propertystore.db.index.keys.id +0 -0
  54. data/lib/db/neostore.propertystore.db.strings +0 -0
  55. data/lib/db/neostore.propertystore.db.strings.id +0 -0
  56. data/lib/db/neostore.relationshipstore.db +0 -0
  57. data/lib/db/neostore.relationshipstore.db.id +0 -0
  58. data/lib/db/neostore.relationshiptypestore.db +0 -0
  59. data/lib/db/neostore.relationshiptypestore.db.id +0 -0
  60. data/lib/db/neostore.relationshiptypestore.db.names +0 -0
  61. data/lib/db/neostore.relationshiptypestore.db.names.id +0 -0
  62. data/lib/db/nioneo_logical.log.active +0 -0
  63. data/lib/db/tm_tx_log.1 +0 -0
@@ -41,33 +41,14 @@ module Neo4j
41
41
  klass.extend Neo4j::Core::Index::ClassMethods
42
42
  klass.extend Neo4j::Wrapper::Find
43
43
  klass.extend Neo4j::Wrapper::Rule::ClassMethods
44
-
45
44
  klass.send(:include, Neo4j::Wrapper::Rule::Functions)
46
-
47
-
48
- klass.node_indexer do
49
- index_names :exact => "#{klass._index_name}_exact", :fulltext => "#{klass._index_name}_fulltext"
50
- trigger_on :_classname => klass.to_s
51
- prefix_index_name &klass.method(:index_prefix)
52
- end
45
+ klass.setup_node_index
53
46
 
54
47
  def klass.inherited(sub_klass)
55
- return super if sub_klass.to_s == self.to_s
56
- base_class = self
57
-
58
- # make the base class trigger on the sub class nodes
59
- base_class._indexer.config.trigger_on :_classname => sub_klass.to_s
60
-
61
- sub_klass.inherit_rules_from self
62
-
63
- sub_klass.node_indexer do
64
- inherit_from base_class
65
- index_names :exact => "#{sub_klass._index_name}_exact", :fulltext => "#{sub_klass._index_name}_fulltext"
66
- trigger_on :_classname => sub_klass.to_s
67
- prefix_index_name &sub_klass.method(:index_prefix)
68
- end
48
+ setup_neo4j_subclass(sub_klass)
69
49
  super
70
50
  end
51
+
71
52
  super
72
53
  end
73
54
 
@@ -31,27 +31,10 @@ module Neo4j
31
31
  klass.extend Neo4j::Wrapper::Property::ClassMethods
32
32
  klass.extend Neo4j::Core::Index::ClassMethods
33
33
  klass.extend Neo4j::Wrapper::Find
34
-
35
- index_name = klass.to_s.gsub("::", '_')
36
-
37
- klass.rel_indexer do
38
- index_names :exact => "#{index_name}_exact", :fulltext => "#{index_name}_fulltext"
39
- trigger_on :_classname => klass.to_s
40
- end
34
+ klass.setup_rel_index
41
35
 
42
36
  def klass.inherited(sub_klass)
43
- return super if sub_klass.to_s == self.to_s
44
- index_name = sub_klass.to_s.gsub("::", '_')
45
- base_class = self
46
-
47
- # make the base class trigger on the sub class nodes
48
- base_class._indexer.config.trigger_on :_classname => sub_klass.to_s
49
-
50
- sub_klass.rel_indexer do
51
- inherit_from base_class
52
- index_names :exact => "#{index_name}_exact", :fulltext => "#{index_name}_fulltext"
53
- trigger_on :_classname => sub_klass.to_s
54
- end
37
+ setup_neo4j_subclass(sub_klass)
55
38
  super
56
39
  end
57
40
 
@@ -10,6 +10,42 @@ module Neo4j
10
10
  wrapped_node
11
11
  end
12
12
 
13
+ def setup_neo4j_subclass(sub_klass)
14
+ return if self.to_s == sub_klass.to_s
15
+ # make the base class trigger on the sub class nodes
16
+ _indexer.config.trigger_on :_classname => sub_klass.to_s
17
+
18
+ sub_klass.inherit_rules_from(self) if sub_klass.respond_to?(:inherit_rules_from)
19
+
20
+ if sub_klass.ancestors.include?(Neo4j::NodeMixin)
21
+ setup_node_index(sub_klass)
22
+ else
23
+ setup_rel_index(sub_klass)
24
+ end
25
+
26
+ superclass.setup_neo4j_subclass(sub_klass) if superclass.respond_to?(:setup_neo4j_subclass)
27
+ end
28
+
29
+ def setup_node_index(sub_klass=self)
30
+ base_class = self
31
+ sub_klass.node_indexer do
32
+ inherit_from base_class unless base_class == sub_klass
33
+ index_names :exact => "#{sub_klass._index_name}_exact", :fulltext => "#{sub_klass._index_name}_fulltext"
34
+ trigger_on :_classname => sub_klass.to_s
35
+ prefix_index_name &sub_klass.method(:index_prefix)
36
+ end
37
+ end
38
+
39
+ def setup_rel_index(sub_klass=self)
40
+ base_class = self
41
+ sub_klass.rel_indexer do
42
+ inherit_from base_class unless base_class == sub_klass
43
+ index_names :exact => "#{sub_klass}_exact", :fulltext => "#{sub_klass}_fulltext"
44
+ trigger_on :_classname => sub_klass.to_s
45
+ prefix_index_name &sub_klass.method(:index_prefix)
46
+ end
47
+ end
48
+
13
49
  # Creates an alias to the original new method: <tt>orig_new</tt>
14
50
  # @private
15
51
  def self.extended(klass)
@@ -4,7 +4,7 @@ module Neo4j
4
4
  module Functions
5
5
 
6
6
  # A function for counting number of nodes of a given class.
7
- class Count < Function
7
+ class Size < Function
8
8
  def initialize
9
9
  @property = '_classname'
10
10
  @@lock ||= Java::java.lang.Object.new
@@ -39,7 +39,7 @@ module Neo4j
39
39
  end
40
40
 
41
41
  def self.function_name
42
- :count
42
+ :size
43
43
  end
44
44
  end
45
45
  end
@@ -17,7 +17,15 @@ module Neo4j
17
17
  @triggers = [@triggers] if @triggers && !@triggers.respond_to?(:each)
18
18
  @functions = [@functions] if @functions && !@functions.respond_to?(:each)
19
19
  @filter = block
20
- @bulk_update = !@functions.nil? && @functions.size == 1 && @functions.first.class.function_name == :count && @filter.nil?
20
+ @bulk_update = bulk_update
21
+ end
22
+
23
+ def bulk_update
24
+ return false if @filter
25
+ return true if @functions.nil?
26
+ # only one function allowed for bulk update
27
+ return false if @functions.size != 1
28
+ @functions.first.class.function_name == :size
21
29
  end
22
30
 
23
31
  def to_s
@@ -193,7 +193,7 @@ module Neo4j
193
193
  def classes_changed(total)
194
194
  @rules.each do |rule|
195
195
  if rule.bulk_update?
196
- rule.functions.first.classes_changed(rule.rule_name, rule_node, total)
196
+ rule.functions && rule.functions.first.classes_changed(rule.rule_name, rule_node, total)
197
197
  total.added.each { |node| connect(rule.rule_name, node) }
198
198
  total.deleted.each { |node| break_connection(rule.rule_name, node) }
199
199
  end
@@ -1,5 +1,5 @@
1
1
  module Neo4j
2
2
  module Wrapper
3
- VERSION = '0.0.2'
3
+ VERSION = '0.0.3'
4
4
  end
5
5
  end
data/lib/neo4j-wrapper.rb CHANGED
@@ -28,7 +28,7 @@ require 'neo4j-wrapper/rule/event_listener'
28
28
  require 'neo4j-wrapper/rule/rule'
29
29
  require 'neo4j-wrapper/rule/rule_node'
30
30
  require 'neo4j-wrapper/rule/functions/function'
31
- require 'neo4j-wrapper/rule/functions/count'
31
+ require 'neo4j-wrapper/rule/functions/size'
32
32
  require 'neo4j-wrapper/rule/functions/sum'
33
33
 
34
34
  require 'neo4j/type_converters/type_converters'
@@ -27,5 +27,5 @@ It comes included with the Apache Lucene document database.
27
27
  s.extra_rdoc_files = %w( README.rdoc )
28
28
  s.rdoc_options = ["--quiet", "--title", "Neo4j.rb", "--line-numbers", "--main", "README.rdoc", "--inline-source"]
29
29
 
30
- s.add_dependency("neo4j-core", "0.0.6")
30
+ s.add_dependency("neo4j-core", "0.0.7")
31
31
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: neo4j-wrapper
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.2
5
+ version: 0.0.3
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: 2012-04-04 00:00:00 Z
13
+ date: 2012-04-08 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: neo4j-core
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - "="
22
22
  - !ruby/object:Gem::Version
23
- version: 0.0.6
23
+ version: 0.0.7
24
24
  type: :runtime
25
25
  version_requirements: *id001
26
26
  description: |
@@ -60,66 +60,13 @@ files:
60
60
  - lib/neo4j-wrapper/rule/class_methods.rb
61
61
  - lib/neo4j-wrapper/rule/event_listener.rb
62
62
  - lib/neo4j-wrapper/rule/functions/function.rb
63
- - lib/neo4j-wrapper/rule/functions/count.rb
63
+ - lib/neo4j-wrapper/rule/functions/size.rb
64
64
  - lib/neo4j-wrapper/rule/functions/sum.rb
65
65
  - lib/neo4j-wrapper/rule/neo4j_core_ext/traverser.rb
66
66
  - lib/neo4j/identity_map.rb
67
67
  - lib/neo4j/node_mixin.rb
68
68
  - lib/neo4j/relationship_mixin.rb
69
69
  - lib/neo4j/type_converters/type_converters.rb
70
- - lib/db/neostore.relationshiptypestore.db.names
71
- - lib/db/neostore.id
72
- - lib/db/neostore.relationshiptypestore.db.names.id
73
- - lib/db/neostore.nodestore.db.id
74
- - lib/db/neostore.propertystore.db.index
75
- - lib/db/neostore.propertystore.db.strings.id
76
- - lib/db/nioneo_logical.log.active
77
- - lib/db/neostore.propertystore.db.strings
78
- - lib/db/neostore.relationshiptypestore.db.id
79
- - lib/db/neostore
80
- - lib/db/neostore.nodestore.db
81
- - lib/db/neostore.propertystore.db.index.keys.id
82
- - lib/db/neostore.propertystore.db.arrays.id
83
- - lib/db/messages.log
84
- - lib/db/neostore.relationshipstore.db.id
85
- - lib/db/neostore.propertystore.db.arrays
86
- - lib/db/neostore.relationshipstore.db
87
- - lib/db/neostore.propertystore.db.index.id
88
- - lib/db/neostore.propertystore.db.id
89
- - lib/db/index.db
90
- - lib/db/neostore.propertystore.db
91
- - lib/db/tm_tx_log.1
92
- - lib/db/neostore.relationshiptypestore.db
93
- - lib/db/active_tx_log
94
- - lib/db/neostore.propertystore.db.index.keys
95
- - lib/db/index/lucene-store.db
96
- - lib/db/index/lucene.log.active
97
- - lib/db/index/lucene/node/Person_exact/_1.prx
98
- - lib/db/index/lucene/node/Person_exact/_1.tii
99
- - lib/db/index/lucene/node/Person_exact/_0.fdx
100
- - lib/db/index/lucene/node/Person_exact/segments.gen
101
- - lib/db/index/lucene/node/Person_exact/_0.frq
102
- - lib/db/index/lucene/node/Person_exact/_2.tii
103
- - lib/db/index/lucene/node/Person_exact/_1.nrm
104
- - lib/db/index/lucene/node/Person_exact/_0.nrm
105
- - lib/db/index/lucene/node/Person_exact/_1.tis
106
- - lib/db/index/lucene/node/Person_exact/_2.frq
107
- - lib/db/index/lucene/node/Person_exact/_2.nrm
108
- - lib/db/index/lucene/node/Person_exact/_2.fdt
109
- - lib/db/index/lucene/node/Person_exact/_0.fdt
110
- - lib/db/index/lucene/node/Person_exact/_0.tis
111
- - lib/db/index/lucene/node/Person_exact/_1.fnm
112
- - lib/db/index/lucene/node/Person_exact/_1.frq
113
- - lib/db/index/lucene/node/Person_exact/_0.tii
114
- - lib/db/index/lucene/node/Person_exact/_2.tis
115
- - lib/db/index/lucene/node/Person_exact/_2.prx
116
- - lib/db/index/lucene/node/Person_exact/_2.fdx
117
- - lib/db/index/lucene/node/Person_exact/_0.prx
118
- - lib/db/index/lucene/node/Person_exact/_2.fnm
119
- - lib/db/index/lucene/node/Person_exact/_1.fdt
120
- - lib/db/index/lucene/node/Person_exact/_0.fnm
121
- - lib/db/index/lucene/node/Person_exact/_1.fdx
122
- - lib/db/index/lucene/node/Person_exact/segments_3
123
70
  - README.rdoc
124
71
  - Gemfile
125
72
  - neo4j-wrapper.gemspec
data/lib/db/active_tx_log DELETED
@@ -1 +0,0 @@
1
- tm_tx_log.1
@@ -1 +0,0 @@
1
- ����_id_ageQ
@@ -1 +0,0 @@
1
- NRM�|
@@ -1 +0,0 @@
1
- ����_id_ageQ
@@ -1 +0,0 @@
1
- NRM�|
@@ -1 +0,0 @@
1
- ����_id_ageQ
@@ -1 +0,0 @@
1
- NRM�|
Binary file
Binary file
data/lib/db/index.db DELETED
Binary file