pacer-orient 2.2.2.pre-java → 2.3.1.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: 7585dfffb391debc95334403f88386f77a80d3ca
4
- data.tar.gz: 97c0a11ee8b963a857d2886f3cc2c95e56856097
3
+ metadata.gz: 6e5f2cb6dda6c9d808b6fb784d111112ab42e43e
4
+ data.tar.gz: a06875f2955c6c26f5f7e92d325cf4abb03543fe
5
5
  SHA512:
6
- metadata.gz: 8cd87e583db12206f061197bc71f3c867b835c4b3fc59ad0bf8fcc2c29f60f03577911e780c79471c05454c512bfe701f7ce5cba96f932deacb8f1a5ce60b02a
7
- data.tar.gz: 0ab844a4af7c5894b90e41458d571a9ed2a86742c49bb3f316b8baf0b75c71ab0b6e3d6934f4b7da719a5c8e41607854a2861d8b5ae84fb70a115767ee4d436c
6
+ metadata.gz: e6d551402eb429220089ad2bb8c15775c6ee63d81f7a647791534b218dc040fb896cb119769a9631c649835caed20e45bbb5f373ecd125028cfbf23ab4caf487
7
+ data.tar.gz: bb9b6a42833218fcfb65dae960f656eb7587a2b2905b2d4464ce888df42faa9655fd8fcbace9ca01bd6e336e76085065687196963ca1189a834bf651d6b1a2dd
data/.gitignore CHANGED
@@ -4,3 +4,5 @@ Gemfile.lock
4
4
  pkg/*
5
5
  target/*
6
6
  lib/*.jar
7
+ Gemfile-custom
8
+ Jarfile.lock
data/Gemfile CHANGED
@@ -2,3 +2,7 @@ source "http://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in pacer-graph.gemspec
4
4
  gemspec
5
+
6
+ # Gemfile-custom is .gitignored, but eval'd here so you can add
7
+ # whatever dev tools you like to use to your local environment.
8
+ eval File.read('Gemfile-custom') if File.exist?('Gemfile-custom')
data/Jarfile ADDED
@@ -0,0 +1,2 @@
1
+ jar "com.orientechnologies:orientdb-core:2.0-SNAPSHOT"
2
+ jar "com.orientechnologies:orientdb-graphdb:2.0-SNAPSHOT"
data/Rakefile CHANGED
@@ -1,35 +1,2 @@
1
1
  require 'bundler'
2
2
  Bundler::GemHelper.install_tasks
3
-
4
- file 'pom.xml' => 'lib/pacer-orient/version.rb' do
5
- pom = File.read 'pom.xml'
6
- when_writing('Update pom.xml version number') do
7
- open 'pom.xml', 'w' do |f|
8
- pom.each_line do |line|
9
- line.sub!(%r{<gem.version>.*</gem.version>}, "<gem.version>#{ Pacer::Orient::VERSION }</gem.version>")
10
- line.sub!(%r{<orient.version>.*</orient.version>}, "<orient.version>#{ Pacer::Orient::ORIENT_VERSION }</orient.version>")
11
- line.sub!(%r{<pipes.version>.*</pipes.version>}, "<pipes.version>#{ Pacer::Orient::PIPES_VERSION }</pipes.version>")
12
- f << line
13
- end
14
- end
15
- end
16
- end
17
-
18
- file Pacer::Orient::JAR_PATH => 'pom.xml' do
19
- when_writing("Execute 'mvn package' task") do
20
- system('mvn clean package')
21
- end
22
- end
23
-
24
- task :note do
25
- puts "NOTE: touch lib/pacer-orient/version.rb (or rake touch) to force everything to rebuild"
26
- end
27
-
28
- task :build => [:note, Pacer::Orient::JAR_PATH]
29
- task :install => [:note, Pacer::Orient::JAR_PATH]
30
-
31
- desc 'Touch version.rb so that the jar rebuilds'
32
- task :touch do
33
- system 'touch', 'lib/pacer-orient/version.rb'
34
- end
35
-
@@ -5,13 +5,21 @@ module Pacer
5
5
  class DbListener
6
6
  include ODatabaseListener
7
7
 
8
- attr_reader :graph
8
+ attr_reader :graph, :ident
9
9
 
10
10
  def initialize(graph)
11
- # TDOO: use graph factory?
11
+ @ident = :"listener#{rand}"
12
12
  @graph = graph
13
13
  end
14
14
 
15
+ def data=(x)
16
+ Thread.current[ident] = x
17
+ end
18
+
19
+ def data
20
+ Thread.current[ident]
21
+ end
22
+
15
23
  def onCreate(db)
16
24
  end
17
25
 
@@ -31,17 +39,6 @@ module Pacer
31
39
  end
32
40
 
33
41
  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
42
  end
46
43
 
47
44
  def onAfterTxCommit(db)
@@ -55,6 +52,47 @@ module Pacer
55
52
  end
56
53
  end
57
54
 
55
+ class DbCommitListener < DbListener
56
+ attr_reader :on_commit
57
+
58
+ def initialize(graph, on_commit)
59
+ @on_commit = on_commit
60
+ super graph
61
+ end
62
+
63
+ def onBeforeTxCommit(db)
64
+ self.data = d = CachedTxDataWrapper.new db, graph
65
+ #on_commit.call d
66
+ pp transaction: { getAllRecordEntries: d.entries,
67
+ length: d.entries.length,
68
+ contents: d.entries.to_a }
69
+ pp created_v: d.created_v
70
+ pp created_e: d.created_e
71
+ pp changed_v: d.changed_v
72
+ pp changed_e: d.changed_e
73
+ pp deleted_v: d.deleted_v
74
+ pp deleted_e: d.deleted_e
75
+ rescue Exception => e
76
+ puts "Exception: #{ e.message }"
77
+ pp e.backtrace
78
+ nil
79
+ end
80
+
81
+ def onAfterTxCommit(db)
82
+ puts "-----------------------------------------------------------"
83
+ d = self.data
84
+ pp created_v: d.created_v
85
+ pp created_e: d.created_e
86
+ pp changed_v: d.changed_v
87
+ pp changed_e: d.changed_e
88
+ pp deleted_v: d.deleted_v
89
+ pp deleted_e: d.deleted_e
90
+ rescue Exception => e
91
+ puts "Exception: #{ e.message }"
92
+ pp e.backtrace
93
+ nil
94
+ end
95
+ end
58
96
  end
59
97
  end
60
98
 
@@ -6,6 +6,8 @@ require 'pacer-orient/encoder'
6
6
  require 'pacer-orient/record_id'
7
7
  require 'pacer-orient/factory_container'
8
8
  require 'pacer-orient/sql_filter'
9
+ require 'pacer-orient/db_listener'
10
+ require 'pacer-orient/tx_data_wrapper'
9
11
 
10
12
  module Pacer
11
13
  module Orient
@@ -96,7 +98,7 @@ module Pacer
96
98
 
97
99
  def on_commit(&block)
98
100
  return unless block
99
- # todo
101
+ orient_graph.registerListener(DbCommitListener.new(self, block))
100
102
  end
101
103
 
102
104
  def on_commit_failed(&block)
@@ -1,5 +1,20 @@
1
1
  module Pacer
2
2
  module Orient
3
+ class CachedTxDataWrapper
4
+ attr_reader :created_v, :deleted_v, :changed_v, :created_e, :deleted_e, :changed_e, :entries
5
+
6
+ def initialize(db, graph)
7
+ w = TxDataWrapper.new(db, graph)
8
+ @created_v = w.created_v
9
+ @deleted_v = w.deleted_v
10
+ @changed_v = w.changed_v
11
+ @created_e = w.created_e
12
+ @deleted_e = w.deleted_e
13
+ @changed_e = w.changed_e
14
+ @entries = w.entries
15
+ end
16
+ end
17
+
3
18
  class TxDataWrapper
4
19
  import com.orientechnologies.orient.core.db.record.ORecordOperation
5
20
 
@@ -73,8 +88,17 @@ module Pacer
73
88
  def keep(op, klass)
74
89
  return unless entries
75
90
  entries.map do |e|
76
- if e.type == op and e.getRecord.getSchemaClass.isSubClassOf(klass)
77
- yield e.getRecord
91
+ if e.type == op
92
+ sc = e.getRecord.getSchemaClass
93
+ if sc
94
+ if sc.isSubClassOf(klass)
95
+ yield e.getRecord
96
+ end
97
+ else
98
+ if klass == v_base
99
+ yield e.getRecord
100
+ end
101
+ end
78
102
  end
79
103
  end.compact
80
104
  end
@@ -1,10 +1,6 @@
1
1
  module Pacer
2
2
  module Orient
3
- VERSION = "2.2.2.pre"
4
- JAR = "pacer-orient-#{ VERSION }-standalone.jar"
5
- JAR_PATH = "lib/#{ JAR }"
6
- ORIENT_VERSION = "2.0-M2"
7
- PIPES_VERSION = "2.6.0"
8
- PACER_REQ = ">= 1.5.4"
3
+ VERSION = "2.3.1.pre"
4
+ PACER_REQ = ">= 2.0.0.pre"
9
5
  end
10
6
  end
data/lib/pacer-orient.rb CHANGED
@@ -1,11 +1,18 @@
1
1
  require 'pacer' unless defined? Pacer
2
2
 
3
+ java.lang.System.setProperty("java.awt.headless", "true") unless ENV['PACER_ORIENT_HEAD']
4
+
3
5
  lib_path = File.expand_path(File.join(File.dirname(__FILE__), '../lib'))
4
6
  $:.unshift lib_path unless $:.any? { |path| path == lib_path }
5
7
 
6
8
  require 'pacer-orient/version'
7
9
 
8
- require Pacer::Orient::JAR
10
+ require 'lock_jar'
11
+ LockJar.lock(File.join(File.dirname(__FILE__), "..", "Jarfile"))
12
+ LockJar.load
13
+
14
+ # Orient will kill you at the drop of a hat if you don't do this!
15
+ com.orientechnologies.orient.core.Orient.instance.removeShutdownHook
9
16
 
10
17
  require 'pacer-orient/graph'
11
18
  require 'pacer-orient/tx_data_wrapper'
data/pacer-orient.gemspec CHANGED
@@ -13,10 +13,11 @@ Gem::Specification.new do |s|
13
13
  s.description = s.summary
14
14
 
15
15
  s.add_dependency 'pacer', Pacer::Orient::PACER_REQ
16
+ s.add_dependency "lock_jar", "~> 0.10.0"
16
17
 
17
18
  s.rubyforge_project = "pacer-orient"
18
19
 
19
- s.files = `git ls-files`.split("\n") + [Pacer::Orient::JAR_PATH]
20
+ s.files = `git ls-files`.split("\n")
20
21
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
22
  s.require_paths = ["lib"]
22
23
  end
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.2.pre
4
+ version: 2.3.1.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-16 00:00:00.000000000 Z
11
+ date: 2014-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pacer
@@ -16,12 +16,26 @@ dependencies:
16
16
  requirements:
17
17
  - - '>='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.5.4
19
+ version: 2.0.0.pre
20
20
  requirement: !ruby/object:Gem::Requirement
21
21
  requirements:
22
22
  - - '>='
23
23
  - !ruby/object:Gem::Version
24
- version: 1.5.4
24
+ version: 2.0.0.pre
25
+ prerelease: false
26
+ type: :runtime
27
+ - !ruby/object:Gem::Dependency
28
+ name: lock_jar
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 0.10.0
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ~>
37
+ - !ruby/object:Gem::Version
38
+ version: 0.10.0
25
39
  prerelease: false
26
40
  type: :runtime
27
41
  description: Orient jars and related code for Pacer
@@ -33,6 +47,7 @@ extra_rdoc_files: []
33
47
  files:
34
48
  - .gitignore
35
49
  - Gemfile
50
+ - Jarfile
36
51
  - README.md
37
52
  - Rakefile
38
53
  - lib/pacer-orient.rb
@@ -48,9 +63,6 @@ files:
48
63
  - lib/pacer-orient/tx_data_wrapper.rb
49
64
  - lib/pacer-orient/version.rb
50
65
  - pacer-orient.gemspec
51
- - pom.xml
52
- - pom/standalone.xml
53
- - lib/pacer-orient-2.2.2.pre-standalone.jar
54
66
  homepage: http://orientechnologies.com
55
67
  licenses: []
56
68
  metadata: {}
data/pom/standalone.xml DELETED
@@ -1,22 +0,0 @@
1
- <assembly>
2
- <id>standalone</id>
3
- <formats>
4
- <format>jar</format>
5
- </formats>
6
- <includeBaseDirectory>false</includeBaseDirectory>
7
-
8
- <fileSets>
9
- <fileSet>
10
- <directory>target/classes</directory>
11
- <outputDirectory>/</outputDirectory>
12
- </fileSet>
13
- </fileSets>
14
-
15
- <dependencySets>
16
- <dependencySet>
17
- <outputDirectory>/</outputDirectory>
18
- <unpack>true</unpack>
19
- <scope>runtime</scope>
20
- </dependencySet>
21
- </dependencySets>
22
- </assembly>
data/pom.xml DELETED
@@ -1,101 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project xmlns="http://maven.apache.org/POM/4.0.0"
3
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
5
- <modelVersion>4.0.0</modelVersion>
6
- <groupId>com.xnlogic.pacer</groupId>
7
- <artifactId>pacer-orient</artifactId>
8
- <!-- NOTE: the following properties are automatically updated based on the values in lib/pacer-orient/version.rb -->
9
- <properties>
10
- <orient.version>2.0-M2</orient.version>
11
- <gem.version>2.2.2.pre</gem.version>
12
- <pipes.version>2.6.0</pipes.version>
13
- </properties>
14
- <!-- NOTE: the following properties are automatically updated based on the values in lib/pacer-orient/version.rb -->
15
- <version>${gem.version}</version>
16
- <packaging>pom</packaging>
17
- <url>https://github.com/pangloss/pacer</url>
18
- <name>Pacer Orient dependencies and related code.</name>
19
- <description>
20
- </description>
21
- <inceptionYear>2011</inceptionYear>
22
- <developers>
23
- <developer>
24
- <name>Darrick Wiebe</name>
25
- <email>darrick@innatesoftware.com</email>
26
- <url>http://github.com/pangloss</url>
27
- </developer>
28
- </developers>
29
- <dependencies>
30
- <dependency>
31
- <groupId>com.orientechnologies</groupId>
32
- <artifactId>orientdb-core</artifactId>
33
- <version>${orient.version}</version>
34
- </dependency>
35
- <dependency>
36
- <groupId>com.orientechnologies</groupId>
37
- <artifactId>orientdb-graphdb</artifactId>
38
- <version>${orient.version}</version>
39
- </dependency>
40
- </dependencies>
41
-
42
- <build>
43
- <directory>${basedir}/target</directory>
44
- <finalName>${project.artifactId}-${project.version}</finalName>
45
- <resources>
46
- <resource>
47
- <directory>${basedir}/src/main/resources
48
- </directory>
49
- </resource>
50
- </resources>
51
- <testResources>
52
- <testResource>
53
- <directory>${basedir}/src/test/resources
54
- </directory>
55
- </testResource>
56
- </testResources>
57
- <plugins>
58
- <plugin>
59
- <artifactId>maven-compiler-plugin</artifactId>
60
- <configuration>
61
- <source>1.6</source>
62
- <target>1.6</target>
63
- </configuration>
64
- </plugin>
65
- <plugin>
66
- <artifactId>maven-assembly-plugin</artifactId>
67
- <version>2.2-beta-4</version>
68
- <executions>
69
- <execution>
70
- <phase>package</phase>
71
- <goals>
72
- <goal>attached</goal>
73
- </goals>
74
- </execution>
75
- </executions>
76
- <configuration>
77
- <descriptors>
78
- <descriptor>pom/standalone.xml</descriptor>
79
- </descriptors>
80
- <finalName>${project.artifactId}-${project.version}</finalName>
81
- <outputDirectory>lib</outputDirectory>
82
- <workDirectory>target/assembly/work</workDirectory>
83
- <tarLongFileMode>warn</tarLongFileMode>
84
- </configuration>
85
- </plugin>
86
- <plugin>
87
- <groupId>org.apache.maven.plugins</groupId>
88
- <artifactId>maven-javadoc-plugin</artifactId>
89
- <version>2.6.1</version>
90
- </plugin>
91
- </plugins>
92
- <extensions>
93
- <extension>
94
- <groupId>org.apache.maven.wagon</groupId>
95
- <artifactId>wagon-ftp</artifactId>
96
- <version>1.0-alpha-6</version>
97
- </extension>
98
- </extensions>
99
- </build>
100
-
101
- </project>