hutch-xamplr 1.0.4 → 1.0.5

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.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :minor: 0
3
- :patch: 4
2
+ :patch: 5
4
3
  :major: 1
4
+ :minor: 0
@@ -5,8 +5,8 @@ require 'RandomPeople'
5
5
  require 'people'
6
6
 
7
7
  Xampl.set_default_persister_kind(:tokyo_cabinet)
8
- #Xampl.set_default_persister_format(:xml_format)
9
- Xampl.set_default_persister_format(:ruby_format)
8
+ Xampl.set_default_persister_format(:xml_format)
9
+ #Xampl.set_default_persister_format(:ruby_format)
10
10
 
11
11
  module RandomPeople
12
12
 
@@ -4,8 +4,8 @@ require 'RandomPeople'
4
4
  require 'people'
5
5
 
6
6
  Xampl.set_default_persister_kind(:tokyo_cabinet)
7
- #Xampl.set_default_persister_format(:xml_format)
8
- Xampl.set_default_persister_format(:ruby_format)
7
+ Xampl.set_default_persister_format(:xml_format)
8
+ #Xampl.set_default_persister_format(:ruby_format)
9
9
 
10
10
  module RandomPeople
11
11
 
@@ -4,8 +4,8 @@ require 'RandomPeople'
4
4
  require 'people'
5
5
 
6
6
  Xampl.set_default_persister_kind(:tokyo_cabinet)
7
- #Xampl.set_default_persister_format(:xml_format)
8
- Xampl.set_default_persister_format(:ruby_format)
7
+ Xampl.set_default_persister_format(:xml_format)
8
+ #Xampl.set_default_persister_format(:ruby_format)
9
9
 
10
10
  module RandomPeople
11
11
 
@@ -4,8 +4,8 @@ require 'RandomPeople'
4
4
  require 'people'
5
5
 
6
6
  Xampl.set_default_persister_kind(:tokyo_cabinet)
7
- #Xampl.set_default_persister_format(:xml_format)
8
- Xampl.set_default_persister_format(:ruby_format)
7
+ Xampl.set_default_persister_format(:xml_format)
8
+ #Xampl.set_default_persister_format(:ruby_format)
9
9
 
10
10
  module RandomPeople
11
11
 
@@ -92,10 +92,7 @@ module RandomPeople
92
92
  people = Xampl.find_mentions_of(address)
93
93
 
94
94
  people_inspected += people.size
95
-
96
- people.each do | person |
97
- all_people << person if person.address.first == address
98
- end
95
+ all_people.merge(people)
99
96
  end
100
97
  end
101
98
 
@@ -0,0 +1,5 @@
1
+
2
+ I modified from-xml around 180-190 in a couple of places, marked with TODO comments
3
+
4
+ Why this cropped up now I DO NOT KNOW and this makes me nervous.
5
+
@@ -137,9 +137,9 @@ module Xampl
137
137
  end
138
138
 
139
139
  unless @is_realising then
140
- @attributeValue.size.times{ | i |
140
+ @attributeValue.size.times do |i|
141
141
  FromXML.tokenise_string @attributeValue[i]
142
- }
142
+ end
143
143
  end
144
144
 
145
145
  if target then
@@ -150,7 +150,7 @@ module Xampl
150
150
  element.note_attributes_initialised(@is_realising)
151
151
  else
152
152
  if klasses[0].persisted? then
153
- @attributeName.each_index{ | i |
153
+ @attributeName.each_index do |i|
154
154
  if @attributeName[i] == klasses[0].persisted?.to_s then
155
155
  existing_element = Xampl.find_known(klasses[0], @attributeValue[i])
156
156
  if existing_element then
@@ -178,10 +178,16 @@ module Xampl
178
178
  # existing_element.reset_contents
179
179
  # element = existing_element
180
180
  # existing_element = nil
181
+ # puts "#{File.basename(__FILE__)} #{__LINE__} EXISTING ELEMENT: #{ existing_element }"
182
+ # puts "#{File.basename(__FILE__)} #{__LINE__} WOW, must handle the existing element correctly"
183
+ element = existing_element #TODO -- IS THIS RIGHT????????????????????????
181
184
  end
182
185
  unless element then
183
186
  element = klasses[0].new
184
187
  requires_caching = @recovering
188
+ # puts "#{File.basename(__FILE__)} #{__LINE__} WOW, what about recovering????"
189
+ #TODO -- IS THIS RIGHT????????????????????????
190
+ requires_caching = true #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
185
191
  unless @recovering then
186
192
  element.force_load if parent
187
193
  end
@@ -190,7 +196,7 @@ module Xampl
190
196
 
191
197
  break
192
198
  end
193
- }
199
+ end
194
200
  end
195
201
 
196
202
  unless element then
@@ -79,35 +79,37 @@ class IndexedArray
79
79
  end
80
80
 
81
81
  def each
82
- @store.each{ | obj | yield(obj) }
82
+ @store.each do |obj |
83
+ yield(obj)
84
+ end
83
85
  end
84
86
 
85
87
  def each_index
86
- @store.each_index{ | i | yield(i) }
88
+ @store.each_index { | i | yield(i) }
87
89
  end
88
90
 
89
91
  def each_key_value
90
- @map.each{ | k, v | yield(k, @store[v]) }
92
+ @map.each { | k, v | yield(k, @store[v]) }
91
93
  end
92
94
 
93
95
  def sort
94
- @store.sort{ | a, b | yield(a, b) }
96
+ @store.sort { | a, b | yield(a, b) }
95
97
  end
96
98
 
97
99
  def sort!
98
100
  arr = []
99
- @map.each{ | index, pos |
101
+ @map.each do |index, pos|
100
102
  arr << [index, @store[pos]]
101
- }
102
- arr.sort!{ | a, b |
103
+ end
104
+ arr.sort! do |a, b|
103
105
  yield(a[1], b[1])
104
- }
106
+ end
105
107
  @map = {}
106
108
  @store = []
107
- arr.each { | pair |
109
+ arr.each do |pair|
108
110
  @map[pair[0]] = @store.size
109
111
  @store << pair[1]
110
- }
112
+ end
111
113
  end
112
114
  end
113
115
 
@@ -63,7 +63,7 @@ module Xampl
63
63
  @@persister = @@known_persisters[name]
64
64
 
65
65
  if @@persister then
66
- # @@persister.open # this won't work
66
+ # @@persister.open # this won't work
67
67
  # TODO -- if we know the persister, why are we being so anal about kind and format???
68
68
 
69
69
  kind = @@persister.kind || kind
@@ -691,8 +691,7 @@ module Xampl
691
691
 
692
692
  def lookup(klass, pid)
693
693
  #raise XamplException.new(:live_across_rollback) if @rolled_back
694
-
695
- # puts "LOOKUP:: klass: #{klass} pid: #{pid}"
694
+ #puts "#{File.basename(__FILE__)} #{__LINE__} LOOKUP:: klass: #{klass} pid: #{pid}"
696
695
 
697
696
  begin
698
697
  busy(true)
@@ -701,6 +700,8 @@ module Xampl
701
700
  busy(false)
702
701
  end
703
702
 
703
+ #puts "#{File.basename(__FILE__)} #{__LINE__} ---> #{ xampl }"
704
+
704
705
  return xampl
705
706
  end
706
707
 
@@ -713,7 +714,7 @@ module Xampl
713
714
  end
714
715
 
715
716
  def lazy_load(target, klass, pid)
716
- # puts "LAZY_LOAD:: klass: #{klass} pid: #{pid} target: #{target}"
717
+ # puts "#{File.basename(__FILE__)} #{__LINE__} LAZY_LOAD:: klass: #{klass} pid: #{pid} target: #{target}"
717
718
 
718
719
  xampl = read(klass, pid, target)
719
720
 
@@ -37,7 +37,7 @@ module Xampl
37
37
  actual_victim = nil
38
38
  min = 1 + @now
39
39
  @size = 0
40
- @cache.each{ | key, pair |
40
+ @cache.each do |key, pair|
41
41
  possibility = pair[0]
42
42
  if (not possibility.load_needed) and pair[1] < min then
43
43
  @size += 1
@@ -45,7 +45,7 @@ module Xampl
45
45
  actual_victim = possibility
46
46
  min = pair[1]
47
47
  end
48
- }
48
+ end
49
49
  #puts
50
50
  #puts
51
51
  #puts "REMOVE FROM CACHE(XamplCache): victim: #{victim}, actual: #{actual_victim}"
@@ -84,11 +84,11 @@ module Xampl
84
84
  end
85
85
 
86
86
  def print(out = "")
87
- out << "Cache with capacity: #{@capacity}, current size: #{@size}\n"
88
- @cache.each{ | key, pair |
87
+ out << "Cache (standard) with capacity: #{@capacity}, current size: #{@size}\n"
88
+ @cache.each do |key, pair|
89
89
  out << sprintf(" key: '%s', value: '%s', accessed: %s\n",
90
90
  key, pair[0], pair[1])
91
- }
91
+ end
92
92
  out
93
93
  end
94
94
 
@@ -122,7 +122,7 @@ module Xampl
122
122
  actual_victim = nil
123
123
  min = 1 + @accesses
124
124
  live = 0
125
- @cache.each{ | key, pair |
125
+ @cache.each do |key, pair|
126
126
  pair[1] -= 1
127
127
  possibility = pair[0]
128
128
  if (not possibility.load_needed) and pair[1] < min then
@@ -131,7 +131,7 @@ module Xampl
131
131
  actual_victim = possibility
132
132
  min = pair[1]
133
133
  end
134
- }
134
+ end
135
135
  #puts
136
136
  #puts
137
137
  #puts "REMOVE FROM CACHE(XamplCacheLFU): victim: #{victim}, actual: #{actual_victim} -- live: #{live}, size: #{@size}"
@@ -172,11 +172,11 @@ module Xampl
172
172
  end
173
173
 
174
174
  def print(out = "")
175
- out << "Cache with capacity: #{@capacity}, current size: #{@size}\n"
176
- @cache.each{ | key, pair |
175
+ out << "Cache (LFU) with capacity: #{@capacity}, current size: #{@size}\n"
176
+ @cache.each do |key, pair|
177
177
  out << sprintf(" key: '%s', value: '%s', count: %s\n",
178
178
  key, pair[0], pair[1])
179
- }
179
+ end
180
180
  out
181
181
  end
182
182
 
@@ -25,45 +25,45 @@ module Xampl
25
25
 
26
26
  def sync_done
27
27
  if @new_cache then
28
- @new_cache.each{ | name1, map1 |
28
+ @new_cache.each do |name1, map1|
29
29
  if map1 then
30
30
  cache_map1 = @cache[name1]
31
31
  @cache[name1] = cache_map1 = {} unless cache_map1
32
- map1.each{ | name2, map2 |
32
+ map1.each do |name2, map2|
33
33
  if map2 then
34
34
  cache_map2 = cache_map1[name2]
35
35
  #cache_map1[name2] = cache_map2 = {} unless cache_map2
36
36
  cache_map1[name2] = cache_map2 = fresh_cache unless cache_map2
37
37
 
38
38
  #cache_map2.merge!(map2)
39
- map2.each{ | pid, xampl |
39
+ map2.each do |pid, xampl|
40
40
  cache_map2[pid] = xampl
41
- }
41
+ end
42
42
  end
43
- }
43
+ end
44
44
  end
45
- }
45
+ end
46
46
  end
47
47
  @new_cache = {}
48
48
  end
49
49
 
50
50
  def rollback_cleanup
51
- @new_cache.each{ | name, map |
51
+ @new_cache.each do |name, map|
52
52
  if map then
53
- map.each{ | name2, map2 |
53
+ map.each do |name2, map2|
54
54
  if map2 then
55
- map2.each{ | pid, xampl |
55
+ map2.each do |pid, xampl|
56
56
  @changed.delete(xampl)
57
- }
57
+ end
58
58
  end
59
- }
59
+ end
60
60
  end
61
- }
62
- @changed.each{ | xampl, ignore|
63
- xampl.force_load
64
- }
65
- @new_cache = {}
66
- super
61
+ @changed.each do |xampl, ignore|
62
+ xampl.force_load
63
+ end
64
+ @new_cache = {}
65
+ super
66
+ end
67
67
  end
68
68
 
69
69
  def cache(xampl)
@@ -91,6 +91,11 @@ module Xampl
91
91
  xampl = Xampl.lookup_in_map(@cache, klass, pid)
92
92
  if xampl then
93
93
  if target and target != xampl then
94
+
95
+ puts "#{File.basename(__FILE__)} #{__LINE__} CACHE CONFLICT:: klass: #{ klass }, pid: #{ pid }, target: #{ target }, cached: #{ xampl }"
96
+ dump(@cache)
97
+ caller(0).each { | trace | puts " #{trace}"}
98
+
94
99
  target.invalidate
95
100
  raise XamplException.new(:cache_conflict)
96
101
  end
@@ -117,8 +122,19 @@ module Xampl
117
122
  return nil, target
118
123
  end
119
124
 
125
+ def dump(cache)
126
+ puts "DUMP CACHE"
127
+ cache.each do | k, v |
128
+ puts "--- [[#{k}]]"
129
+ v.each do | kk, vv |
130
+ puts "--- --- [[#{kk}]]"
131
+ puts vv.print
132
+ end
133
+ end
134
+ end
135
+
120
136
  def read(klass, pid, target=nil)
121
- #puts "ABSTRACT_READ[#{__LINE__}]:: klass: #{klass} pid: #{pid} target: #{target}"
137
+ # puts "#{File.basename(__FILE__)} #{__LINE__} READ:: klass: #{klass} pid: #{pid} target: [[#{target}]], PM: #{ self }"
122
138
 
123
139
  xampl, target = read_from_cache(klass, pid, target)
124
140
  return xampl if xampl and !target
@@ -139,6 +155,9 @@ module Xampl
139
155
  raise e
140
156
  end
141
157
 
158
+ # puts "#{File.basename(__FILE__)} #{__LINE__} STORE IN CACHE:: xampl: #{xampl }, persister: #{ self }"
159
+ # dump(@cache)
160
+
142
161
  Xampl.store_in_cache(@cache, xampl, self) { xampl }
143
162
  xampl.introduce_persister(self)
144
163
 
@@ -146,8 +165,6 @@ module Xampl
146
165
  xampl.changes_accepted
147
166
  @changed.delete(xampl)
148
167
 
149
- #puts " READ [#{xampl}]"
150
- #puts " READ [#{xampl}]" if ('1145881653_1' == pid)
151
168
  return xampl
152
169
  end
153
170
  end
@@ -216,7 +216,8 @@ module Xampl
216
216
  end
217
217
 
218
218
  def XamplObject.realise_from_xml_string(xml_string, target=nil, tokenise=true)
219
- return FromXML.new.realise_string(xml_string, tokenise, target)
219
+ xampl = FromXML.new.realise_string(xml_string, tokenise, target)
220
+ return xampl
220
221
  end
221
222
 
222
223
  def XamplObject.from_xml_string(xml_string, tokenise=true)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hutch-xamplr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Hutchison
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-21 00:00:00 -07:00
12
+ date: 2009-04-27 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -71,6 +71,7 @@ files:
71
71
  - lib/xampl.rb
72
72
  - lib/xamplr-generator.rb
73
73
  - lib/xamplr.rb
74
+ - lib/xamplr/README-POSSIBLE-PROBLEMS
74
75
  - lib/xamplr/TODO
75
76
  - lib/xamplr/from-xml.rb
76
77
  - lib/xamplr/gen-elements.xml