pacer-orient 2.2.1.pre-java → 2.2.2.pre-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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4838e40f2680ec196f130a784e1b03539c8c33cb
4
- data.tar.gz: 6304fe8e3aad19d9cfbb4903bc458a0e62b801b6
3
+ metadata.gz: 7585dfffb391debc95334403f88386f77a80d3ca
4
+ data.tar.gz: 97c0a11ee8b963a857d2886f3cc2c95e56856097
5
5
  SHA512:
6
- metadata.gz: 08b6030f9850dd286cad81cc49c4d0b8831613337cf93affe781c6c07b597339a3003d1969510fb01df56aff8032374086c1c2bb359713cf679b01d216f1b236
7
- data.tar.gz: fc91edb7925ce7b681e26f64ebb2dd4e19f8182e9be03c91eb2aac64ed79719f4140c62833ac307edac8f2bd804d352105cf6b72dbd247224ce102d7b28c08e4
6
+ metadata.gz: 8cd87e583db12206f061197bc71f3c867b835c4b3fc59ad0bf8fcc2c29f60f03577911e780c79471c05454c512bfe701f7ce5cba96f932deacb8f1a5ce60b02a
7
+ data.tar.gz: 0ab844a4af7c5894b90e41458d571a9ed2a86742c49bb3f316b8baf0b75c71ab0b6e3d6934f4b7da719a5c8e41607854a2861d8b5ae84fb70a115767ee4d436c
@@ -0,0 +1,60 @@
1
+ module Pacer
2
+ module Orient
3
+ import com.orientechnologies.orient.core.db.ODatabaseListener
4
+
5
+ class DbListener
6
+ include ODatabaseListener
7
+
8
+ attr_reader :graph
9
+
10
+ def initialize(graph)
11
+ # TDOO: use graph factory?
12
+ @graph = graph
13
+ end
14
+
15
+ def onCreate(db)
16
+ end
17
+
18
+ def onDelete(db)
19
+ end
20
+
21
+ def onOpen(db)
22
+ end
23
+
24
+ def onBeforeTxBegin(db)
25
+ end
26
+
27
+ def onBeforeTxRollback(db)
28
+ end
29
+
30
+ def onAfterTxRollback(db)
31
+ end
32
+
33
+ def onBeforeTxCommit(db)
34
+ data = TxDataWrapper.new db, graph
35
+ pp transaction: { getAllRecordEntries: data.entries,
36
+ length: data.entries.length,
37
+ contents: data.entries.to_a }
38
+ pp created_v: data.created_v
39
+ pp created_e: data.created_e
40
+ pp changed_v: data.changed_v
41
+ pp changed_e: data.changed_e
42
+ pp deleted_v: data.deleted_v
43
+ pp deleted_e: data.deleted_e
44
+
45
+ end
46
+
47
+ def onAfterTxCommit(db)
48
+ end
49
+
50
+ def onClose(db)
51
+ end
52
+
53
+ def onCorruptionRepairDatabase(db, iReason, iWhatWillbeFixed)
54
+ return false
55
+ end
56
+ end
57
+
58
+ end
59
+ end
60
+
@@ -122,7 +122,7 @@ module Pacer
122
122
  alias lightweight_edges? lightweight_edges
123
123
 
124
124
  def lightweight_edges=(b)
125
- blueprints_graph.useLightweightEdges = b
125
+ blueprints_graph.setUseLightweightEdges b
126
126
  end
127
127
 
128
128
  def use_class_for_edge_label
@@ -130,7 +130,7 @@ module Pacer
130
130
  end
131
131
 
132
132
  def use_class_for_edge_label=(b)
133
- blueprints_graph.useClassForEdgeLabel = b
133
+ blueprints_graph.setUseClassForEdgeLabel b
134
134
  end
135
135
 
136
136
  def use_class_for_vertex_label
@@ -138,7 +138,7 @@ module Pacer
138
138
  end
139
139
 
140
140
  def use_class_for_vertex_label=(b)
141
- blueprints_graph.useClassForVertexLabel = b
141
+ blueprints_graph.setUseClassForVertexLabel b
142
142
  end
143
143
 
144
144
  def sql(sql = nil, args = nil, opts = {})
@@ -0,0 +1,101 @@
1
+ module Pacer
2
+ module Orient
3
+ class TxDataWrapper
4
+ import com.orientechnologies.orient.core.db.record.ORecordOperation
5
+
6
+ attr_reader :db, :v_base, :e_base, :graph, :blueprints_graph
7
+
8
+ def initialize(db, graph)
9
+ @db = db
10
+ @graph = graph
11
+ @blueprints_graph = graph.blueprints_graph
12
+ @v_base = graph.orient_graph.getMetadata.getSchema.getClass("V")
13
+ @e_base = graph.orient_graph.getMetadata.getSchema.getClass("E")
14
+ end
15
+
16
+ def created_v
17
+ keep(ORecordOperation::CREATED, v_base) { |e| wrap_vertex e }
18
+ end
19
+
20
+ def deleted_v
21
+ keep(ORecordOperation::DELETED, v_base) { |e| wrap_vertex e }
22
+ end
23
+
24
+ def changed_v
25
+ keep(ORecordOperation::UPDATED, v_base) { |e| changes e, :vertex }.flatten
26
+ end
27
+
28
+ def created_e
29
+ keep(ORecordOperation::CREATED, e_base) { |e| wrap_edge e }
30
+ end
31
+
32
+ def deleted_e
33
+ keep(ORecordOperation::DELETED, e_base) { |e| wrap_edge e }
34
+ end
35
+
36
+ def changed_e
37
+ keep(ORecordOperation::UPDATED, e_base) { |e| changes e, :edge }.flatten
38
+ end
39
+
40
+ def created_v_ids
41
+ keep(ORecordOperation::CREATED, v_base) { |e| e.getIdentity }
42
+ end
43
+
44
+ def deleted_v_ids
45
+ keep(ORecordOperation::DELETED, v_base) { |e| e.getIdentity }
46
+ end
47
+
48
+ def created_e_ids
49
+ keep(ORecordOperation::CREATED, e_base) { |e| e.getIdentity }
50
+ end
51
+
52
+ def deleted_e_ids
53
+ keep(ORecordOperation::DELETED, e_base) { |e| e.getIdentity }
54
+ end
55
+
56
+ def deleted?(e)
57
+ entry = db.getTransaction.getRecordEntry e.element_id
58
+ entry and entry.type == ORecordOperation::DELETED
59
+ end
60
+
61
+ def entries
62
+ db.getTransaction.getCurrentRecordEntries
63
+ end
64
+
65
+ private
66
+
67
+ # !!!!!!!!!!!!!!!!!!!!
68
+ # !!!!!!!!!!!!!!!!!!!!
69
+ # TODO: how do I deal with lightweight edges?
70
+ # !!!!!!!!!!!!!!!!!!!!
71
+ # !!!!!!!!!!!!!!!!!!!!
72
+
73
+ def keep(op, klass)
74
+ return unless entries
75
+ entries.map do |e|
76
+ if e.type == op and e.getRecord.getSchemaClass.isSubClassOf(klass)
77
+ yield e.getRecord
78
+ end
79
+ end.compact
80
+ end
81
+
82
+ def changes(doc, type)
83
+ doc.getDirtyFields.map do |field|
84
+ { element_type: type,
85
+ id: doc.getIdentity,
86
+ key: field,
87
+ was: graph.decode_property(doc.getOriginalValue(field)),
88
+ is: graph.decode_property(doc.field(field)) }
89
+ end
90
+ end
91
+
92
+ def wrap_edge(e)
93
+ Pacer::Wrappers::EdgeWrapper.new graph, blueprints_graph.getEdge(e)
94
+ end
95
+
96
+ def wrap_vertex(e)
97
+ Pacer::Wrappers::VertexWrapper.new graph, blueprints_graph.getVertex(e)
98
+ end
99
+ end
100
+ end
101
+ end
@@ -1,9 +1,9 @@
1
1
  module Pacer
2
2
  module Orient
3
- VERSION = "2.2.1.pre"
3
+ VERSION = "2.2.2.pre"
4
4
  JAR = "pacer-orient-#{ VERSION }-standalone.jar"
5
5
  JAR_PATH = "lib/#{ JAR }"
6
- ORIENT_VERSION = "2.0-M2-SNAPSHOT"
6
+ ORIENT_VERSION = "2.0-M2"
7
7
  PIPES_VERSION = "2.6.0"
8
8
  PACER_REQ = ">= 1.5.4"
9
9
  end
data/lib/pacer-orient.rb CHANGED
@@ -8,6 +8,7 @@ require 'pacer-orient/version'
8
8
  require Pacer::Orient::JAR
9
9
 
10
10
  require 'pacer-orient/graph'
11
+ require 'pacer-orient/tx_data_wrapper'
11
12
 
12
13
  Pacer::FunctionResolver.clear_cache
13
14
 
data/pom.xml CHANGED
@@ -7,8 +7,8 @@
7
7
  <artifactId>pacer-orient</artifactId>
8
8
  <!-- NOTE: the following properties are automatically updated based on the values in lib/pacer-orient/version.rb -->
9
9
  <properties>
10
- <orient.version>2.0-M2-SNAPSHOT</orient.version>
11
- <gem.version>2.2.1.pre</gem.version>
10
+ <orient.version>2.0-M2</orient.version>
11
+ <gem.version>2.2.2.pre</gem.version>
12
12
  <pipes.version>2.6.0</pipes.version>
13
13
  </properties>
14
14
  <!-- NOTE: the following properties are automatically updated based on the values in lib/pacer-orient/version.rb -->
@@ -27,11 +27,6 @@
27
27
  </developer>
28
28
  </developers>
29
29
  <dependencies>
30
- <dependency>
31
- <groupId>com.orientechnologies</groupId>
32
- <artifactId>orient-commons</artifactId>
33
- <version>${orient.version}</version>
34
- </dependency>
35
30
  <dependency>
36
31
  <groupId>com.orientechnologies</groupId>
37
32
  <artifactId>orientdb-core</artifactId>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pacer-orient
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1.pre
4
+ version: 2.2.2.pre
5
5
  platform: java
6
6
  authors:
7
7
  - Darrick Wiebe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-04 00:00:00.000000000 Z
11
+ date: 2014-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pacer
@@ -36,6 +36,7 @@ files:
36
36
  - README.md
37
37
  - Rakefile
38
38
  - lib/pacer-orient.rb
39
+ - lib/pacer-orient/db_listener.rb
39
40
  - lib/pacer-orient/encoder.rb
40
41
  - lib/pacer-orient/factory_container.rb
41
42
  - lib/pacer-orient/graph.rb
@@ -44,11 +45,12 @@ files:
44
45
  - lib/pacer-orient/record_id.rb
45
46
  - lib/pacer-orient/rspec.rb
46
47
  - lib/pacer-orient/sql_filter.rb
48
+ - lib/pacer-orient/tx_data_wrapper.rb
47
49
  - lib/pacer-orient/version.rb
48
50
  - pacer-orient.gemspec
49
51
  - pom.xml
50
52
  - pom/standalone.xml
51
- - lib/pacer-orient-2.2.1.pre-standalone.jar
53
+ - lib/pacer-orient-2.2.2.pre-standalone.jar
52
54
  homepage: http://orientechnologies.com
53
55
  licenses: []
54
56
  metadata: {}