orientdb 0.0.17-jruby → 0.0.19-jruby
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/{jars → lib/jars}/orient-commons-1.0rc7.jar +0 -0
- data/{jars → lib/jars}/orientdb-client-1.0rc7.jar +0 -0
- data/{jars → lib/jars}/orientdb-core-1.0rc7.jar +0 -0
- data/{jars → lib/jars}/orientdb-enterprise-1.0rc7.jar +0 -0
- data/{jars → lib/jars}/orientdb-server-1.0rc7.jar +0 -0
- data/{jars → lib/jars}/orientdb-tools-1.0rc7.jar +0 -0
- data/{jars → lib/jars}/persistence-api-1.0.jar +0 -0
- data/lib/old/constants.rb +7 -0
- data/lib/orientdb.rb +7 -13
- data/lib/orientdb/constants.rb +7 -9
- data/lib/orientdb/database.rb +1 -1
- data/lib/orientdb/oclass.rb +10 -10
- data/lib/orientdb/property.rb +1 -3
- data/lib/orientdb/record.rb +0 -8
- data/lib/orientdb/rid.rb +10 -10
- data/lib/orientdb/schema.rb +29 -19
- data/lib/orientdb/version.rb +1 -1
- data/orientdb.gemspec +10 -10
- data/spec/database_spec.rb +4 -4
- data/spec/document_spec.rb +1 -1
- data/spec/spec_helper.rb +7 -6
- metadata +10 -10
- data/lib/orientdb/user.rb +0 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.19
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/orientdb.rb
CHANGED
@@ -1,25 +1,19 @@
|
|
1
1
|
raise "OrieentDB-client only runs on JRuby. Sorry!" unless (RUBY_PLATFORM =~ /java/)
|
2
2
|
|
3
|
-
$: << File.dirname(__FILE__)
|
4
|
-
$: << File.expand_path('../../jars/', __FILE__)
|
5
|
-
|
6
|
-
require 'java'
|
7
|
-
require "orientdb-client-1.0rc7"
|
8
|
-
|
9
3
|
module OrientDB
|
4
|
+
GEM_PATH = File.dirname File.expand_path(__FILE__) unless const_defined?(:GEM_PATH)
|
5
|
+
end
|
10
6
|
|
11
|
-
|
12
|
-
|
13
|
-
super
|
14
|
-
end
|
7
|
+
$: << OrientDB::GEM_PATH
|
8
|
+
$: << File.join(OrientDB::GEM_PATH, 'jars')
|
15
9
|
|
16
|
-
|
10
|
+
require 'java'
|
11
|
+
require "orientdb-client-1.0rc7"
|
17
12
|
|
13
|
+
require 'orientdb/version'
|
18
14
|
require 'orientdb/ext'
|
19
15
|
require 'orientdb/rid'
|
20
16
|
require 'orientdb/constants'
|
21
|
-
require 'orientdb/version'
|
22
|
-
require 'orientdb/user'
|
23
17
|
require 'orientdb/property'
|
24
18
|
require 'orientdb/schema'
|
25
19
|
require 'orientdb/storage'
|
data/lib/orientdb/constants.rb
CHANGED
@@ -5,26 +5,24 @@ module OrientDB
|
|
5
5
|
DocumentDatabasePool = com.orientechnologies.orient.core.db.document.ODatabaseDocumentPool
|
6
6
|
DocumentDatabasePooled = com.orientechnologies.orient.core.db.document.ODatabaseDocumentTxPooled
|
7
7
|
Document = com.orientechnologies.orient.core.record.impl.ODocument
|
8
|
-
|
9
|
-
OClass = com.orientechnologies.orient.core.metadata.schema.OClass
|
8
|
+
OClassImpl = com.orientechnologies.orient.core.metadata.schema.OClassImpl
|
10
9
|
LocalStorage = com.orientechnologies.orient.core.storage.impl.local.OStorageLocal
|
11
10
|
LocalCluster = com.orientechnologies.orient.core.storage.impl.local.OClusterLocal
|
12
11
|
LogicalCluster = com.orientechnologies.orient.core.storage.impl.local.OClusterLogical
|
13
|
-
|
12
|
+
PropertyImpl = com.orientechnologies.orient.core.metadata.schema.OPropertyImpl
|
14
13
|
RecordList = com.orientechnologies.orient.core.db.record.ORecordTrackedList
|
15
|
-
RecordMap = com.orientechnologies.orient.core.db.record.ORecordTrackedMap
|
16
14
|
RecordSet = com.orientechnologies.orient.core.db.record.ORecordTrackedSet
|
17
15
|
RemoteStorage = com.orientechnologies.orient.client.remote.OStorageRemote
|
18
16
|
Schema = com.orientechnologies.orient.core.metadata.schema.OSchema
|
17
|
+
SchemaProxy = com.orientechnologies.orient.core.metadata.schema.OSchemaProxy
|
19
18
|
SchemaType = com.orientechnologies.orient.core.metadata.schema.OType
|
20
|
-
SQLSynchQuery = com.orientechnologies.orient.core.sql.query.OSQLSynchQuery
|
21
19
|
SQLCommand = com.orientechnologies.orient.core.sql.OCommandSQL
|
20
|
+
SQLSynchQuery = com.orientechnologies.orient.core.sql.query.OSQLSynchQuery
|
22
21
|
User = com.orientechnologies.orient.core.metadata.security.OUser
|
23
22
|
|
24
|
-
STORAGE_TYPES
|
25
|
-
INDEX_TYPES = %w{ FULLTEXT NOTUNIQUE UNIQUE }.inject({}) { |h, s| h[s.downcase.to_sym] = IndexType.const_get s; h }
|
23
|
+
STORAGE_TYPES = %w{ LOGICAL MEMORY PHYSICAL }.inject({ }) { |h, s| h[s.downcase.to_sym] = ClusterType.const_get s; h }
|
26
24
|
|
27
|
-
FIELD_TYPES
|
25
|
+
FIELD_TYPES = {
|
28
26
|
:binary => "BINARY",
|
29
27
|
:bool => "BOOLEAN",
|
30
28
|
:boolean => "BOOLEAN",
|
@@ -50,7 +48,7 @@ module OrientDB
|
|
50
48
|
:long => "LONG",
|
51
49
|
:short => "SHORT",
|
52
50
|
:string => "STRING",
|
53
|
-
}.inject({}) do |h, (k, v)|
|
51
|
+
}.inject({ }) do |h, (k, v)|
|
54
52
|
h[k] = SchemaType.const_get v
|
55
53
|
h
|
56
54
|
end
|
data/lib/orientdb/database.rb
CHANGED
data/lib/orientdb/oclass.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module OrientDB
|
2
2
|
|
3
|
-
class
|
3
|
+
class OClassImpl
|
4
4
|
|
5
5
|
def type_for(value)
|
6
6
|
self.class.type_for value
|
@@ -19,7 +19,7 @@ module OrientDB
|
|
19
19
|
prop = create_property property_name, type
|
20
20
|
when Symbol
|
21
21
|
prop = create_property property_name, type_for(type)
|
22
|
-
when
|
22
|
+
when OClassImpl
|
23
23
|
prop = create_property property_name, type_for(:link), type
|
24
24
|
when Array
|
25
25
|
type, sub_type = type_for(type.first), type_for(type.last)
|
@@ -32,10 +32,10 @@ module OrientDB
|
|
32
32
|
prop.set_max options[:max].to_s unless options[:max].nil?
|
33
33
|
prop.set_mandatory !!options[:mandatory] unless options[:mandatory].nil?
|
34
34
|
prop.set_not_null options[:not_null] unless options[:not_null].nil?
|
35
|
-
unless options[:index].nil?
|
36
|
-
|
37
|
-
|
38
|
-
end
|
35
|
+
#unless options[:index].nil?
|
36
|
+
# index_type = options[:index] == true ? INDEX_TYPES[:notunique] : INDEX_TYPES[options[:index]]
|
37
|
+
# prop.createIndex index_type
|
38
|
+
#end
|
39
39
|
|
40
40
|
self
|
41
41
|
end
|
@@ -55,7 +55,7 @@ module OrientDB
|
|
55
55
|
|
56
56
|
def inspect
|
57
57
|
props = properties.map { |x| "#{x.name}=#{x.type.name}#{x.is_indexed? ? '(idx)' : ''}" }.join(' ')
|
58
|
-
"#<OrientDB::
|
58
|
+
"#<OrientDB::OClassImpl:" + name +
|
59
59
|
(getSuperClass ? ' super=' + getSuperClass.name : '') +
|
60
60
|
(props.empty? ? '' : ' ' + props) +
|
61
61
|
">"
|
@@ -68,7 +68,7 @@ module OrientDB
|
|
68
68
|
def type_for(value)
|
69
69
|
value = value.oclass if value.respond_to?(:oclass)
|
70
70
|
type = case value
|
71
|
-
when OrientDB::SchemaType, OrientDB::
|
71
|
+
when OrientDB::SchemaType, OrientDB::OClassImpl
|
72
72
|
value
|
73
73
|
when String
|
74
74
|
if schema.exists_class?(value)
|
@@ -105,14 +105,14 @@ module OrientDB
|
|
105
105
|
end
|
106
106
|
|
107
107
|
super_klass = fields.delete :super
|
108
|
-
super_klass = db.get_class(super_klass.to_s) unless super_klass.is_a?(OrientDB::
|
108
|
+
super_klass = db.get_class(super_klass.to_s) unless super_klass.is_a?(OrientDB::OClassImpl)
|
109
109
|
klass.set_super_class super_klass if super_klass
|
110
110
|
db.schema.save
|
111
111
|
|
112
112
|
unless fields.empty?
|
113
113
|
fields.each do |property_name, type|
|
114
114
|
case type
|
115
|
-
when Symbol, Array, OrientDB::
|
115
|
+
when Symbol, Array, OrientDB::OClassImpl
|
116
116
|
klass.add property_name, type
|
117
117
|
when Hash
|
118
118
|
options = type.dup
|
data/lib/orientdb/property.rb
CHANGED
data/lib/orientdb/record.rb
CHANGED
data/lib/orientdb/rid.rb
CHANGED
@@ -2,13 +2,13 @@ class OrientDB::RID
|
|
2
2
|
|
3
3
|
attr_reader :cluster_id, :document_id
|
4
4
|
|
5
|
-
def initialize(
|
6
|
-
|
7
|
-
if
|
8
|
-
self.cluster_id
|
9
|
-
self.document_id =
|
5
|
+
def initialize(rid = '#-1:-1')
|
6
|
+
parts = rid.to_s.gsub('#', '').split ":"
|
7
|
+
if parts.size == 2
|
8
|
+
self.cluster_id = parts.first.to_i
|
9
|
+
self.document_id = parts.last.to_i
|
10
10
|
else
|
11
|
-
raise "Unknown
|
11
|
+
raise "Unknown rid [#{rid}]"
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
@@ -21,11 +21,13 @@ class OrientDB::RID
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def inspect
|
24
|
-
"
|
24
|
+
"##{cluster_id}:#{@document_id}"
|
25
25
|
end
|
26
26
|
|
27
|
+
alias :to_s :inspect
|
28
|
+
|
27
29
|
def unsaved?
|
28
|
-
to_s == '
|
30
|
+
to_s == '#-1:-1'
|
29
31
|
end
|
30
32
|
|
31
33
|
def saved?
|
@@ -35,8 +37,6 @@ class OrientDB::RID
|
|
35
37
|
def valid?
|
36
38
|
saved? || unsaved?
|
37
39
|
end
|
38
|
-
|
39
|
-
alias :to_s :inspect
|
40
40
|
end
|
41
41
|
|
42
42
|
class String
|
data/lib/orientdb/schema.rb
CHANGED
@@ -1,23 +1,33 @@
|
|
1
1
|
module OrientDB
|
2
2
|
|
3
|
-
class Schema
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
end
|
12
|
-
|
13
|
-
class
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
end
|
3
|
+
#class Schema
|
4
|
+
#
|
5
|
+
# def inspect
|
6
|
+
# "#<OrientDB::Schema:#{toString}>"
|
7
|
+
# end
|
8
|
+
#
|
9
|
+
# alias :to_s :inspect
|
10
|
+
#
|
11
|
+
#end
|
12
|
+
#
|
13
|
+
#class SchemaProxy
|
14
|
+
#
|
15
|
+
# def inspect
|
16
|
+
# "#<OrientDB::SchemaProxy:#{toString}>"
|
17
|
+
# end
|
18
|
+
#
|
19
|
+
# alias :to_s :inspect
|
20
|
+
#
|
21
|
+
#end
|
22
|
+
#
|
23
|
+
#class SchemaType
|
24
|
+
#
|
25
|
+
# def inspect
|
26
|
+
# "#<OrientDB::SchemaType:#{name}>"
|
27
|
+
# end
|
28
|
+
#
|
29
|
+
# alias :to_s :inspect
|
30
|
+
#
|
31
|
+
#end
|
22
32
|
|
23
33
|
end
|
data/lib/orientdb/version.rb
CHANGED
data/orientdb.gemspec
CHANGED
@@ -5,12 +5,12 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{orientdb}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.19"
|
9
9
|
s.platform = %q{jruby}
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.3.6") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.authors = [%q{Adrian Madrid}]
|
13
|
-
s.date = %q{2011-12-
|
13
|
+
s.date = %q{2011-12-10}
|
14
14
|
s.description = %q{Simple JRuby wrapper for the OrientDB.}
|
15
15
|
s.email = [%q{aemadrid@gmail.com}]
|
16
16
|
s.executables = [%q{orientdb_console}]
|
@@ -27,13 +27,14 @@ Gem::Specification.new do |s|
|
|
27
27
|
"Rakefile",
|
28
28
|
"VERSION",
|
29
29
|
"bin/orientdb_console",
|
30
|
-
"jars/orient-commons-1.0rc7.jar",
|
31
|
-
"jars/orientdb-client-1.0rc7.jar",
|
32
|
-
"jars/orientdb-core-1.0rc7.jar",
|
33
|
-
"jars/orientdb-enterprise-1.0rc7.jar",
|
34
|
-
"jars/orientdb-server-1.0rc7.jar",
|
35
|
-
"jars/orientdb-tools-1.0rc7.jar",
|
36
|
-
"jars/persistence-api-1.0.jar",
|
30
|
+
"lib/jars/orient-commons-1.0rc7.jar",
|
31
|
+
"lib/jars/orientdb-client-1.0rc7.jar",
|
32
|
+
"lib/jars/orientdb-core-1.0rc7.jar",
|
33
|
+
"lib/jars/orientdb-enterprise-1.0rc7.jar",
|
34
|
+
"lib/jars/orientdb-server-1.0rc7.jar",
|
35
|
+
"lib/jars/orientdb-tools-1.0rc7.jar",
|
36
|
+
"lib/jars/persistence-api-1.0.jar",
|
37
|
+
"lib/old/constants.rb",
|
37
38
|
"lib/orientdb.rb",
|
38
39
|
"lib/orientdb/constants.rb",
|
39
40
|
"lib/orientdb/database.rb",
|
@@ -52,7 +53,6 @@ Gem::Specification.new do |s|
|
|
52
53
|
"lib/orientdb/sql/query.rb",
|
53
54
|
"lib/orientdb/sql/update.rb",
|
54
55
|
"lib/orientdb/storage.rb",
|
55
|
-
"lib/orientdb/user.rb",
|
56
56
|
"lib/orientdb/version.rb",
|
57
57
|
"orientdb.gemspec",
|
58
58
|
"spec/database_spec.rb",
|
data/spec/database_spec.rb
CHANGED
@@ -9,14 +9,14 @@ describe "OrientDB" do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
it "should create a valid simple table" do
|
12
|
-
exp_class = "#<OrientDB::
|
12
|
+
exp_class = "#<OrientDB::OClassImpl:person name=STRING>"
|
13
13
|
exp_props = ["#<OrientDB::Propery:name type=string indexed=false mandatory=false not_null=false>"]
|
14
14
|
@person_class.to_s.should == exp_class
|
15
15
|
@person_class.properties.map { |x| x.to_s }.should == exp_props
|
16
16
|
end
|
17
17
|
|
18
18
|
it "should create a valid simple descendant table" do
|
19
|
-
exp_class = "#<OrientDB::
|
19
|
+
exp_class = "#<OrientDB::OClassImpl:customer super=person tab=FLOAT name=STRING>"
|
20
20
|
exp_props = [
|
21
21
|
"#<OrientDB::Propery:tab type=decimal indexed=false mandatory=false not_null=false>",
|
22
22
|
"#<OrientDB::Propery:name type=string indexed=false mandatory=false not_null=false>"
|
@@ -26,12 +26,12 @@ describe "OrientDB" do
|
|
26
26
|
end
|
27
27
|
|
28
28
|
it "should create a complex table" do
|
29
|
-
exp_class = "#<OrientDB::
|
29
|
+
exp_class = "#<OrientDB::OClassImpl:invoice total=FLOAT sold_on=DATE lines=LINKLIST number=INTEGER customer=LINK>"
|
30
30
|
exp_props = [
|
31
31
|
"#<OrientDB::Propery:total type=decimal indexed=false mandatory=false not_null=false>",
|
32
32
|
"#<OrientDB::Propery:sold_on type=date indexed=false mandatory=false not_null=false>",
|
33
33
|
"#<OrientDB::Propery:lines type=link_list indexed=false mandatory=false not_null=false>",
|
34
|
-
"#<OrientDB::Propery:number type=int indexed=
|
34
|
+
"#<OrientDB::Propery:number type=int indexed=false mandatory=true not_null=false>",
|
35
35
|
"#<OrientDB::Propery:customer type=link indexed=false mandatory=false not_null=true>"
|
36
36
|
]
|
37
37
|
@invoice_class.to_s.should == exp_class
|
data/spec/document_spec.rb
CHANGED
@@ -92,7 +92,7 @@ describe "OrientDB" do
|
|
92
92
|
# @invoice.to_s.should == "#<OrientDB::Document:invoice_line:8:0 product:#<OrientDB::Document:product:7:0 title:Hammer price:5.5 sku:H509> price:5.5 quantity:1>"
|
93
93
|
@invoice.customer.should == @customer
|
94
94
|
@invoice.total = @total
|
95
|
-
@invoice.lines.should == [@line1, @line2]
|
95
|
+
@invoice.lines.map{|x| x}.should == [@line1, @line2]
|
96
96
|
end
|
97
97
|
end
|
98
98
|
|
data/spec/spec_helper.rb
CHANGED
@@ -33,34 +33,35 @@ unless defined?(SPEC_HELPER_LOADED)
|
|
33
33
|
|
34
34
|
module Helpers
|
35
35
|
def create_classes
|
36
|
-
# People
|
37
36
|
@person_class = DB.recreate_class :person, :name => :string
|
38
|
-
# Customers
|
39
37
|
@customer_class = DB.recreate_class :customer,
|
40
38
|
:super => @person_class,
|
41
39
|
:tab => :float
|
42
|
-
# Employees
|
43
40
|
@employee_class = DB.recreate_class :employee,
|
44
41
|
:super => @person_class,
|
45
42
|
:age => :int,
|
46
43
|
:groups => [:embedded_list, :string]
|
47
|
-
# Products
|
48
44
|
@product_class = DB.recreate_class :product,
|
49
45
|
:sku => :string,
|
50
46
|
:title => :string,
|
51
47
|
:price => :float
|
52
|
-
# Invoice Lines
|
53
48
|
@line_class = DB.recreate_class :invoice_line,
|
54
49
|
:product => @product_class,
|
55
50
|
:quantity => :int,
|
56
51
|
:price => :float
|
57
|
-
# Invoices
|
58
52
|
@invoice_class = DB.recreate_class :invoice,
|
59
53
|
:number => {:type => :int, :mandatory => true, :index => true},
|
60
54
|
:customer => {:type => @customer_class, :not_null => true},
|
61
55
|
:sold_on => :date,
|
62
56
|
:total => {:type => :float}, # , :min => java.lang.Float.new('0.01'), :max => java.lang.Float.new('1000.0')
|
63
57
|
:lines => [:link_list, @line_class]
|
58
|
+
|
59
|
+
#@person_class = DB.recreate_class :person
|
60
|
+
#@customer_class = DB.recreate_class :customer
|
61
|
+
#@employee_class = DB.recreate_class :employee
|
62
|
+
#@product_class = DB.recreate_class :product
|
63
|
+
#@line_class = DB.recreate_class :invoice_line
|
64
|
+
#@invoice_class = DB.recreate_class :invoice
|
64
65
|
end
|
65
66
|
end
|
66
67
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: orientdb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.19
|
6
6
|
platform: jruby
|
7
7
|
authors:
|
8
8
|
- Adrian Madrid
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-12-
|
13
|
+
date: 2011-12-10 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: awesome_print
|
@@ -53,13 +53,14 @@ files:
|
|
53
53
|
- Rakefile
|
54
54
|
- VERSION
|
55
55
|
- bin/orientdb_console
|
56
|
-
- jars/orient-commons-1.0rc7.jar
|
57
|
-
- jars/orientdb-client-1.0rc7.jar
|
58
|
-
- jars/orientdb-core-1.0rc7.jar
|
59
|
-
- jars/orientdb-enterprise-1.0rc7.jar
|
60
|
-
- jars/orientdb-server-1.0rc7.jar
|
61
|
-
- jars/orientdb-tools-1.0rc7.jar
|
62
|
-
- jars/persistence-api-1.0.jar
|
56
|
+
- lib/jars/orient-commons-1.0rc7.jar
|
57
|
+
- lib/jars/orientdb-client-1.0rc7.jar
|
58
|
+
- lib/jars/orientdb-core-1.0rc7.jar
|
59
|
+
- lib/jars/orientdb-enterprise-1.0rc7.jar
|
60
|
+
- lib/jars/orientdb-server-1.0rc7.jar
|
61
|
+
- lib/jars/orientdb-tools-1.0rc7.jar
|
62
|
+
- lib/jars/persistence-api-1.0.jar
|
63
|
+
- lib/old/constants.rb
|
63
64
|
- lib/orientdb.rb
|
64
65
|
- lib/orientdb/constants.rb
|
65
66
|
- lib/orientdb/database.rb
|
@@ -78,7 +79,6 @@ files:
|
|
78
79
|
- lib/orientdb/sql/query.rb
|
79
80
|
- lib/orientdb/sql/update.rb
|
80
81
|
- lib/orientdb/storage.rb
|
81
|
-
- lib/orientdb/user.rb
|
82
82
|
- lib/orientdb/version.rb
|
83
83
|
- orientdb.gemspec
|
84
84
|
- spec/database_spec.rb
|
data/lib/orientdb/user.rb
DELETED