neo4j-core 8.1.4 → 9.0.0.alpha.1
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.
- checksums.yaml +5 -5
- data/README.md +71 -8
- data/lib/neo4j-core.rb +3 -49
- data/lib/neo4j/core.rb +4 -0
- data/lib/neo4j/core/config.rb +13 -0
- data/lib/neo4j/core/cypher_session/adaptors.rb +15 -15
- data/lib/neo4j/core/cypher_session/adaptors/bolt.rb +39 -48
- data/lib/neo4j/core/cypher_session/adaptors/bolt/chunk_writer_io.rb +0 -4
- data/lib/neo4j/core/cypher_session/adaptors/bolt/pack_stream.rb +7 -3
- data/lib/neo4j/core/cypher_session/adaptors/embedded.rb +1 -2
- data/lib/neo4j/core/cypher_session/adaptors/has_uri.rb +4 -0
- data/lib/neo4j/core/cypher_session/adaptors/http.rb +1 -3
- data/lib/neo4j/core/cypher_session/responses.rb +1 -1
- data/lib/neo4j/core/cypher_session/responses/bolt.rb +0 -17
- data/lib/neo4j/core/cypher_session/responses/embedded.rb +9 -7
- data/lib/neo4j/core/cypher_session/responses/http.rb +3 -4
- data/lib/neo4j/core/cypher_session/transactions.rb +2 -0
- data/lib/{neo4j-core → neo4j/core}/helpers.rb +1 -14
- data/lib/neo4j/core/logging.rb +44 -0
- data/lib/{neo4j-core → neo4j/core}/query.rb +7 -6
- data/lib/{neo4j-core → neo4j/core}/query_clauses.rb +9 -16
- data/lib/{neo4j-core → neo4j/core}/query_find_in_batches.rb +3 -5
- data/lib/{neo4j-core → neo4j/core}/version.rb +1 -1
- data/lib/neo4j/transaction.rb +6 -8
- data/neo4j-core.gemspec +13 -11
- metadata +46 -50
- data/lib/ext/kernel.rb +0 -9
- data/lib/neo4j-core/active_entity.rb +0 -11
- data/lib/neo4j-core/label.rb +0 -9
- data/lib/neo4j-embedded.rb +0 -16
- data/lib/neo4j-embedded/cypher_response.rb +0 -71
- data/lib/neo4j-embedded/embedded_database.rb +0 -26
- data/lib/neo4j-embedded/embedded_ha_session.rb +0 -30
- data/lib/neo4j-embedded/embedded_impermanent_session.rb +0 -17
- data/lib/neo4j-embedded/embedded_label.rb +0 -88
- data/lib/neo4j-embedded/embedded_node.rb +0 -206
- data/lib/neo4j-embedded/embedded_relationship.rb +0 -77
- data/lib/neo4j-embedded/embedded_session.rb +0 -203
- data/lib/neo4j-embedded/embedded_transaction.rb +0 -30
- data/lib/neo4j-embedded/label.rb +0 -66
- data/lib/neo4j-embedded/property.rb +0 -106
- data/lib/neo4j-embedded/to_java.rb +0 -44
- data/lib/neo4j-server.rb +0 -12
- data/lib/neo4j-server/cypher_label.rb +0 -35
- data/lib/neo4j-server/cypher_node.rb +0 -221
- data/lib/neo4j-server/cypher_relationship.rb +0 -142
- data/lib/neo4j-server/cypher_response.rb +0 -248
- data/lib/neo4j-server/cypher_session.rb +0 -263
- data/lib/neo4j-server/cypher_transaction.rb +0 -100
- data/lib/neo4j-server/label.rb +0 -40
- data/lib/neo4j-server/resource.rb +0 -57
- data/lib/neo4j/entity_equality.rb +0 -8
- data/lib/neo4j/entity_marshal.rb +0 -20
- data/lib/neo4j/label.rb +0 -90
- data/lib/neo4j/node.rb +0 -216
- data/lib/neo4j/property_container.rb +0 -17
- data/lib/neo4j/property_validator.rb +0 -22
- data/lib/neo4j/relationship.rb +0 -161
- data/lib/neo4j/session.rb +0 -222
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neo4j-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 9.0.0.alpha.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andreas Ronge, Chris Grigg, Brian Underwood
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: net_tcp_client
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 2.0.1
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 2.0.1
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: typhoeus
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,6 +136,20 @@ dependencies:
|
|
122
136
|
- - ">="
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: 1.1.2
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: dryspec
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
125
153
|
- !ruby/object:Gem::Dependency
|
126
154
|
name: neo4j-rake_tasks
|
127
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -212,18 +240,16 @@ dependencies:
|
|
212
240
|
requirements:
|
213
241
|
- - "~>"
|
214
242
|
- !ruby/object:Gem::Version
|
215
|
-
version: 0.
|
243
|
+
version: 0.56.0
|
216
244
|
type: :development
|
217
245
|
prerelease: false
|
218
246
|
version_requirements: !ruby/object:Gem::Requirement
|
219
247
|
requirements:
|
220
248
|
- - "~>"
|
221
249
|
- !ruby/object:Gem::Version
|
222
|
-
version: 0.
|
223
|
-
description:
|
224
|
-
Neo4j
|
225
|
-
|
226
|
-
'
|
250
|
+
version: 0.56.0
|
251
|
+
description: " Neo4j-core provides classes and methods to work with the graph database
|
252
|
+
Neo4j.\n"
|
227
253
|
email: andreas.ronge@gmail.com, chris@subvertallmedia.com, brian@brian-underwood.codes
|
228
254
|
executables: []
|
229
255
|
extensions: []
|
@@ -233,38 +259,10 @@ files:
|
|
233
259
|
- Gemfile
|
234
260
|
- README.md
|
235
261
|
- bin/rake
|
236
|
-
- lib/ext/kernel.rb
|
237
262
|
- lib/neo4j-core.rb
|
238
|
-
- lib/neo4j-core/active_entity.rb
|
239
|
-
- lib/neo4j-core/helpers.rb
|
240
|
-
- lib/neo4j-core/label.rb
|
241
|
-
- lib/neo4j-core/query.rb
|
242
|
-
- lib/neo4j-core/query_clauses.rb
|
243
|
-
- lib/neo4j-core/query_find_in_batches.rb
|
244
|
-
- lib/neo4j-core/version.rb
|
245
|
-
- lib/neo4j-embedded.rb
|
246
|
-
- lib/neo4j-embedded/cypher_response.rb
|
247
|
-
- lib/neo4j-embedded/embedded_database.rb
|
248
|
-
- lib/neo4j-embedded/embedded_ha_session.rb
|
249
|
-
- lib/neo4j-embedded/embedded_impermanent_session.rb
|
250
|
-
- lib/neo4j-embedded/embedded_label.rb
|
251
|
-
- lib/neo4j-embedded/embedded_node.rb
|
252
|
-
- lib/neo4j-embedded/embedded_relationship.rb
|
253
|
-
- lib/neo4j-embedded/embedded_session.rb
|
254
|
-
- lib/neo4j-embedded/embedded_transaction.rb
|
255
|
-
- lib/neo4j-embedded/label.rb
|
256
|
-
- lib/neo4j-embedded/property.rb
|
257
|
-
- lib/neo4j-embedded/to_java.rb
|
258
|
-
- lib/neo4j-server.rb
|
259
|
-
- lib/neo4j-server/cypher_label.rb
|
260
|
-
- lib/neo4j-server/cypher_node.rb
|
261
|
-
- lib/neo4j-server/cypher_relationship.rb
|
262
|
-
- lib/neo4j-server/cypher_response.rb
|
263
|
-
- lib/neo4j-server/cypher_session.rb
|
264
|
-
- lib/neo4j-server/cypher_transaction.rb
|
265
|
-
- lib/neo4j-server/label.rb
|
266
|
-
- lib/neo4j-server/resource.rb
|
267
263
|
- lib/neo4j/ansi.rb
|
264
|
+
- lib/neo4j/core.rb
|
265
|
+
- lib/neo4j/core/config.rb
|
268
266
|
- lib/neo4j/core/cypher_session.rb
|
269
267
|
- lib/neo4j/core/cypher_session/adaptors.rb
|
270
268
|
- lib/neo4j/core/cypher_session/adaptors/bolt.rb
|
@@ -282,21 +280,19 @@ files:
|
|
282
280
|
- lib/neo4j/core/cypher_session/transactions/bolt.rb
|
283
281
|
- lib/neo4j/core/cypher_session/transactions/embedded.rb
|
284
282
|
- lib/neo4j/core/cypher_session/transactions/http.rb
|
283
|
+
- lib/neo4j/core/helpers.rb
|
285
284
|
- lib/neo4j/core/instrumentable.rb
|
286
285
|
- lib/neo4j/core/label.rb
|
286
|
+
- lib/neo4j/core/logging.rb
|
287
287
|
- lib/neo4j/core/node.rb
|
288
288
|
- lib/neo4j/core/path.rb
|
289
|
+
- lib/neo4j/core/query.rb
|
290
|
+
- lib/neo4j/core/query_clauses.rb
|
291
|
+
- lib/neo4j/core/query_find_in_batches.rb
|
289
292
|
- lib/neo4j/core/rake_tasks_deprecation.rake
|
290
293
|
- lib/neo4j/core/relationship.rb
|
294
|
+
- lib/neo4j/core/version.rb
|
291
295
|
- lib/neo4j/core/wrappable.rb
|
292
|
-
- lib/neo4j/entity_equality.rb
|
293
|
-
- lib/neo4j/entity_marshal.rb
|
294
|
-
- lib/neo4j/label.rb
|
295
|
-
- lib/neo4j/node.rb
|
296
|
-
- lib/neo4j/property_container.rb
|
297
|
-
- lib/neo4j/property_validator.rb
|
298
|
-
- lib/neo4j/relationship.rb
|
299
|
-
- lib/neo4j/session.rb
|
300
296
|
- lib/neo4j/transaction.rb
|
301
297
|
- neo4j-core.gemspec
|
302
298
|
homepage: https://github.com/neo4jrb/neo4j-core
|
@@ -322,15 +318,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
322
318
|
requirements:
|
323
319
|
- - ">="
|
324
320
|
- !ruby/object:Gem::Version
|
325
|
-
version: 1.
|
321
|
+
version: 2.1.0
|
326
322
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
327
323
|
requirements:
|
328
|
-
- - "
|
324
|
+
- - ">"
|
329
325
|
- !ruby/object:Gem::Version
|
330
|
-
version:
|
326
|
+
version: 1.3.1
|
331
327
|
requirements: []
|
332
328
|
rubyforge_project:
|
333
|
-
rubygems_version: 2.
|
329
|
+
rubygems_version: 2.7.7
|
334
330
|
signing_key:
|
335
331
|
specification_version: 4
|
336
332
|
summary: A basic library to work with the graph database Neo4j.
|
data/lib/ext/kernel.rb
DELETED
data/lib/neo4j-core/label.rb
DELETED
data/lib/neo4j-embedded.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
require 'java'
|
2
|
-
|
3
|
-
require 'neo4j-community'
|
4
|
-
require 'neo4j-embedded/to_java'
|
5
|
-
require 'neo4j-embedded/property'
|
6
|
-
require 'neo4j-embedded/embedded_session'
|
7
|
-
require 'neo4j-embedded/embedded_label'
|
8
|
-
require 'neo4j-embedded/embedded_node'
|
9
|
-
require 'neo4j-embedded/embedded_relationship'
|
10
|
-
require 'neo4j-embedded/embedded_label'
|
11
|
-
require 'neo4j-embedded/label'
|
12
|
-
require 'neo4j-embedded/embedded_transaction'
|
13
|
-
require 'neo4j-embedded/cypher_response'
|
14
|
-
|
15
|
-
# TODO: replace this with https://github.com/intridea/hashie gem
|
16
|
-
require 'active_support/hash_with_indifferent_access'
|
@@ -1,71 +0,0 @@
|
|
1
|
-
module Neo4j
|
2
|
-
module Embedded
|
3
|
-
# Wraps the Cypher query result.
|
4
|
-
# Loads the node and relationships wrapper if possible and use symbol as column keys.
|
5
|
-
# This is typically used in the native neo4j bindings since result does is not a Ruby enumerable with symbols as keys.
|
6
|
-
# @note The result is a once forward read only Enumerable, work if you need to read the result twice - use #to_a
|
7
|
-
#
|
8
|
-
class ResultWrapper
|
9
|
-
class ResultsAlreadyConsumedException < Exception
|
10
|
-
end
|
11
|
-
|
12
|
-
include Enumerable
|
13
|
-
|
14
|
-
# @return the original result from the Neo4j Cypher Engine, once forward read only !
|
15
|
-
attr_reader :source, :unwrapped
|
16
|
-
|
17
|
-
def initialize(source, query, unwrapped = nil)
|
18
|
-
@source = source
|
19
|
-
@struct = Struct.new(*source.columns.to_a.map!(&:to_sym)) unless source.columns.empty?
|
20
|
-
@unread = true
|
21
|
-
@query = query
|
22
|
-
@unwrapped = unwrapped
|
23
|
-
end
|
24
|
-
|
25
|
-
def to_s
|
26
|
-
@query
|
27
|
-
end
|
28
|
-
|
29
|
-
def unwrapped?
|
30
|
-
!!unwrapped
|
31
|
-
end
|
32
|
-
|
33
|
-
def inspect
|
34
|
-
"Enumerable query: '#{@query}'"
|
35
|
-
end
|
36
|
-
|
37
|
-
# @return [Array<Symbol>] the columns in the query result
|
38
|
-
def columns
|
39
|
-
@source.columns.map!(&:to_sym)
|
40
|
-
end
|
41
|
-
|
42
|
-
def error?
|
43
|
-
false
|
44
|
-
end
|
45
|
-
|
46
|
-
def each
|
47
|
-
fail ResultsAlreadyConsumedException unless @unread
|
48
|
-
|
49
|
-
if block_given?
|
50
|
-
@source.each do |row|
|
51
|
-
yield(row.each_with_object(@struct.new) do |(column, value), result|
|
52
|
-
result[column.to_sym] = unwrap(value)
|
53
|
-
end)
|
54
|
-
end
|
55
|
-
else
|
56
|
-
Enumerator.new(self)
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
private
|
61
|
-
|
62
|
-
def unwrap(value)
|
63
|
-
if !value.nil? && value.respond_to?(:to_a)
|
64
|
-
value.respond_to?(:to_hash) ? value.to_hash : value.map { |v| unwrap(v) }
|
65
|
-
else
|
66
|
-
(!value.respond_to?(:wrapper) || unwrapped?) ? value : value.wrapper
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
module Neo4j
|
2
|
-
module Embedded
|
3
|
-
class EmbeddedDatabase
|
4
|
-
class Error < StandardError
|
5
|
-
end
|
6
|
-
|
7
|
-
class << self
|
8
|
-
def connect(db_location, config = {})
|
9
|
-
return Neo4j::Session.current if Neo4j::Session.current.respond_to?(:db_location) && Neo4j::Session.current.db_location == db_location
|
10
|
-
|
11
|
-
EmbeddedSession.new(db_location, config)
|
12
|
-
end
|
13
|
-
|
14
|
-
def create_db(db_location)
|
15
|
-
puts "Start embedded Neo4j db at #{db_location}"
|
16
|
-
factory = Java::OrgNeo4jGraphdbFactory::GraphDatabaseFactory.new
|
17
|
-
factory.newEmbeddedDatabase(db_location)
|
18
|
-
end
|
19
|
-
|
20
|
-
def factory_class
|
21
|
-
Java::OrgNeo4jTest::ImpermanentGraphDatabase
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
require 'neo4j-enterprise'
|
2
|
-
|
3
|
-
Neo4j::Session.register_db(:ha_db) do |*args|
|
4
|
-
Neo4j::Embedded::EmbeddedHaSession.new(*args)
|
5
|
-
end
|
6
|
-
|
7
|
-
module Neo4j
|
8
|
-
module Embedded
|
9
|
-
class EmbeddedHaSession < EmbeddedSession
|
10
|
-
def start
|
11
|
-
fail Error, 'Embedded HA Neo4j db is already running' if running?
|
12
|
-
puts "Start embedded HA Neo4j db at #{db_location}"
|
13
|
-
factory = Java::OrgNeo4jGraphdbFactory::HighlyAvailableGraphDatabaseFactory.new
|
14
|
-
db_service = factory.newHighlyAvailableDatabaseBuilder(db_location)
|
15
|
-
|
16
|
-
case
|
17
|
-
when properties_file
|
18
|
-
db_service.loadPropertiesFromFile(properties_file)
|
19
|
-
when properties_map
|
20
|
-
db_service.setConfig(properties_map)
|
21
|
-
else
|
22
|
-
fail Error, 'Need properties for HA configuration'
|
23
|
-
end
|
24
|
-
|
25
|
-
@graph_db = db_service.newGraphDatabase
|
26
|
-
Neo4j::Session._notify_listeners(:session_available, self)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
Neo4j::Community.load_test_jars!
|
2
|
-
|
3
|
-
Neo4j::Session.register_db(:impermanent_db) do |*args|
|
4
|
-
Neo4j::Embedded::EmbeddedImpermanentSession.new(*args)
|
5
|
-
end
|
6
|
-
|
7
|
-
module Neo4j
|
8
|
-
module Embedded
|
9
|
-
class EmbeddedImpermanentSession < EmbeddedSession
|
10
|
-
def start
|
11
|
-
fail Error, 'Embedded Neo4j db is already running' if running?
|
12
|
-
@graph_db = Java::OrgNeo4jTest::TestGraphDatabaseFactory.new.newImpermanentDatabase
|
13
|
-
Neo4j::Session._notify_listeners(:session_available, self)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,88 +0,0 @@
|
|
1
|
-
module Neo4j
|
2
|
-
module Embedded
|
3
|
-
class EmbeddedLabel < Neo4j::Label
|
4
|
-
extend Neo4j::Core::TxMethods
|
5
|
-
attr_reader :name
|
6
|
-
JAVA_CLASS = Java::OrgNeo4jGraphdb::DynamicLabel
|
7
|
-
|
8
|
-
def initialize(session, name)
|
9
|
-
@name = name.to_sym
|
10
|
-
@session = session
|
11
|
-
end
|
12
|
-
|
13
|
-
def to_s
|
14
|
-
@name
|
15
|
-
end
|
16
|
-
|
17
|
-
def find_nodes(key = nil, value = nil)
|
18
|
-
iterator = if key
|
19
|
-
@session.graph_db.find_nodes_by_label_and_property(as_java, key, value).iterator
|
20
|
-
else
|
21
|
-
ggo = Java::OrgNeo4jTooling::GlobalGraphOperations.at(@session.graph_db)
|
22
|
-
ggo.getAllNodesWithLabel(as_java).iterator
|
23
|
-
end
|
24
|
-
|
25
|
-
iterator.to_a.map(&:wrapper)
|
26
|
-
ensure
|
27
|
-
iterator && iterator.close
|
28
|
-
end
|
29
|
-
tx_methods :find_nodes
|
30
|
-
|
31
|
-
def as_java
|
32
|
-
self.class.as_java(@name.to_s)
|
33
|
-
end
|
34
|
-
|
35
|
-
def create_index(property, options = {}, session = Neo4j::Session.current)
|
36
|
-
validate_index_options!(options)
|
37
|
-
index_creator = session.graph_db.schema.index_for(as_java)
|
38
|
-
# we can also use the PropertyConstraintCreator here
|
39
|
-
properties = property.is_a?(Array) ? property : [property]
|
40
|
-
properties.inject(index_creator) { |creator, key| creator.on(key.to_s) }.create
|
41
|
-
end
|
42
|
-
tx_methods :create_index
|
43
|
-
|
44
|
-
def indexes
|
45
|
-
{
|
46
|
-
property_keys: @session.graph_db.schema.indexes(as_java).map do |index_def|
|
47
|
-
index_def.property_keys.map(&:to_sym)
|
48
|
-
end
|
49
|
-
}
|
50
|
-
end
|
51
|
-
tx_methods :indexes
|
52
|
-
|
53
|
-
def uniqueness_constraints
|
54
|
-
definitions = @session.graph_db.schema.constraints(as_java).select do |index_def|
|
55
|
-
index_def.is_a?(Java::OrgNeo4jKernelImplCoreapiSchema::PropertyUniqueConstraintDefinition)
|
56
|
-
end
|
57
|
-
{
|
58
|
-
property_keys: definitions.map { |index_def| index_def.property_keys.map(&:to_sym) }
|
59
|
-
}
|
60
|
-
end
|
61
|
-
tx_methods :uniqueness_constraints
|
62
|
-
|
63
|
-
|
64
|
-
def drop_index(property, options = {}, session = Neo4j::Session.current)
|
65
|
-
validate_index_options!(options)
|
66
|
-
properties = property.is_a?(Array) ? property : [property]
|
67
|
-
session.graph_db.schema.indexes(as_java).each do |index_def|
|
68
|
-
# at least one match, TODO
|
69
|
-
keys = index_def.property_keys.map(&:to_sym)
|
70
|
-
index_def.drop if (properties - keys).count < properties.count
|
71
|
-
end
|
72
|
-
end
|
73
|
-
tx_methods :drop_index
|
74
|
-
|
75
|
-
class << self
|
76
|
-
def as_java(labels)
|
77
|
-
if labels.is_a?(Array)
|
78
|
-
return nil if labels.empty?
|
79
|
-
|
80
|
-
labels.inject([]) { |result, label| result << JAVA_CLASS.label(label.to_s) }.to_java(JAVA_CLASS)
|
81
|
-
else
|
82
|
-
JAVA_CLASS.label(labels.to_s)
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|