diametric 0.0.4 → 0.1.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.
Files changed (67) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +21 -18
  3. data/Jarfile +15 -1
  4. data/README.md +22 -14
  5. data/Rakefile +17 -1
  6. data/bin/datomic-rest +33 -0
  7. data/bin/download-datomic +13 -0
  8. data/datomic_version.yml +4 -0
  9. data/diametric.gemspec +9 -6
  10. data/ext/diametric/DiametricCollection.java +147 -0
  11. data/ext/diametric/DiametricConnection.java +113 -0
  12. data/ext/diametric/DiametricDatabase.java +107 -0
  13. data/ext/diametric/DiametricEntity.java +90 -0
  14. data/ext/diametric/DiametricListenableFuture.java +47 -0
  15. data/ext/diametric/DiametricObject.java +66 -0
  16. data/ext/diametric/DiametricPeer.java +414 -0
  17. data/ext/diametric/DiametricService.java +102 -0
  18. data/ext/diametric/DiametricUUID.java +61 -0
  19. data/ext/diametric/DiametricUtils.java +183 -0
  20. data/lib/boolean_type.rb +3 -0
  21. data/lib/diametric.rb +24 -0
  22. data/lib/diametric/entity.rb +219 -14
  23. data/lib/diametric/generators/active_model.rb +2 -2
  24. data/lib/diametric/persistence.rb +0 -1
  25. data/lib/diametric/persistence/common.rb +28 -9
  26. data/lib/diametric/persistence/peer.rb +122 -87
  27. data/lib/diametric/persistence/rest.rb +4 -3
  28. data/lib/diametric/query.rb +94 -23
  29. data/lib/diametric/rest_service.rb +74 -0
  30. data/lib/diametric/service_base.rb +77 -0
  31. data/lib/diametric/transactor.rb +86 -0
  32. data/lib/diametric/version.rb +1 -1
  33. data/lib/diametric_service.jar +0 -0
  34. data/lib/value_enums.rb +8 -0
  35. data/spec/conf_helper.rb +55 -0
  36. data/spec/config/free-transactor-template.properties +73 -0
  37. data/spec/config/logback.xml +59 -0
  38. data/spec/data/seattle-data0.dtm +452 -0
  39. data/spec/data/seattle-data1.dtm +326 -0
  40. data/spec/developer_create_sample.rb +39 -0
  41. data/spec/developer_query_spec.rb +120 -0
  42. data/spec/diametric/config_spec.rb +1 -1
  43. data/spec/diametric/entity_spec.rb +263 -0
  44. data/spec/diametric/peer_api_spec.rb +147 -0
  45. data/spec/diametric/persistence/peer_many2many_spec.rb +76 -0
  46. data/spec/diametric/persistence/peer_spec.rb +13 -22
  47. data/spec/diametric/persistence/rest_spec.rb +12 -19
  48. data/spec/diametric/query_spec.rb +4 -5
  49. data/spec/diametric/rest_service_spec.rb +56 -0
  50. data/spec/diametric/transactor_spec.rb +68 -0
  51. data/spec/integration_spec.rb +5 -3
  52. data/spec/parent_child_sample.rb +42 -0
  53. data/spec/peer_integration_spec.rb +106 -22
  54. data/spec/peer_seattle_spec.rb +200 -0
  55. data/spec/rc2013_seattle_big.rb +82 -0
  56. data/spec/rc2013_seattle_small.rb +60 -0
  57. data/spec/rc2013_simple_sample.rb +72 -0
  58. data/spec/seattle_integration_spec.rb +106 -0
  59. data/spec/simple_validation_sample.rb +31 -0
  60. data/spec/spec_helper.rb +31 -45
  61. data/spec/support/entities.rb +157 -0
  62. data/spec/support/gen_entity_class.rb +2 -0
  63. data/spec/support/persistence_examples.rb +9 -5
  64. data/spec/test_version_file.yml +4 -0
  65. metadata +131 -75
  66. data/Jarfile.lock +0 -134
  67. data/lib/jrclj.rb +0 -63
@@ -1,134 +0,0 @@
1
- ---
2
- version: 0.7.2
3
- groups:
4
- default:
5
- dependencies:
6
- - com.amazonaws:aws-java-sdk:jar:1.3.0
7
- - com.datomic:datomic-free:jar:0.8.3664
8
- - com.google.code.findbugs:jsr305:jar:1.3.9
9
- - com.google.guava:guava:jar:12.0.1
10
- - com.h2database:h2:jar:1.3.165
11
- - com.jamesmurty.utils:java-xmlbuilder:jar:0.4
12
- - commons-codec:commons-codec:jar:1.3
13
- - commons-httpclient:commons-httpclient:jar:3.1
14
- - net.java.dev.jets3t:jets3t:jar:0.8.1
15
- - org.apache.httpcomponents:httpclient:jar:4.2-alpha1
16
- - org.apache.httpcomponents:httpcore:jar:4.2-alpha2
17
- - org.apache.lucene:lucene-core:jar:3.3.0
18
- - org.apache.tomcat:tomcat-jdbc:jar:7.0.27
19
- - org.apache.tomcat:tomcat-juli:jar:7.0.27
20
- - org.clojure:clojure:jar:1.4.0
21
- - org.clojure:data.json:jar:0.1.2
22
- - org.clojure:tools.cli:jar:0.2.2
23
- - org.codehaus.jackson:jackson-core-asl:jar:1.8.0
24
- - org.codehaus.janino:commons-compiler-jdk:jar:2.6.1
25
- - org.codehaus.janino:commons-compiler:jar:2.6.1
26
- - org.fressian:fressian:jar:0.6.3
27
- - org.hornetq:hornetq-core:jar:2.2.2.Final
28
- - org.jboss.netty:netty:jar:3.2.4.Final
29
- - org.slf4j:jcl-over-slf4j:jar:1.6.4
30
- - org.slf4j:jul-to-slf4j:jar:1.6.4
31
- - org.slf4j:log4j-over-slf4j:jar:1.6.4
32
- - org.slf4j:slf4j-api:jar:1.6.4
33
- - org.slf4j:slf4j-nop:jar:1.6.4
34
- - postgresql:postgresql:jar:9.1-901.jdbc4
35
- - spy:spymemcached:jar:2.8.1
36
- artifacts:
37
- - jar:com.datomic:datomic-free:jar:0.8.3664:
38
- transitive:
39
- org.clojure:data.json:jar:0.1.2: {}
40
- net.java.dev.jets3t:jets3t:jar:0.8.1:
41
- commons-httpclient:commons-httpclient:jar:3.1: {}
42
- com.jamesmurty.utils:java-xmlbuilder:jar:0.4: {}
43
- org.jboss.netty:netty:jar:3.2.4.Final: {}
44
- com.h2database:h2:jar:1.3.165: {}
45
- org.slf4j:slf4j-nop:jar:1.6.4: {}
46
- org.hornetq:hornetq-core:jar:2.2.2.Final: {}
47
- postgresql:postgresql:jar:9.1-901.jdbc4: {}
48
- org.fressian:fressian:jar:0.6.3: {}
49
- org.apache.httpcomponents:httpclient:jar:4.2-alpha1:
50
- org.apache.httpcomponents:httpcore:jar:4.2-alpha2: {}
51
- org.clojure:clojure:jar:1.4.0: {}
52
- org.codehaus.janino:commons-compiler-jdk:jar:2.6.1:
53
- org.codehaus.janino:commons-compiler:jar:2.6.1: {}
54
- org.apache.tomcat:tomcat-jdbc:jar:7.0.27:
55
- org.apache.tomcat:tomcat-juli:jar:7.0.27: {}
56
- spy:spymemcached:jar:2.8.1: {}
57
- org.slf4j:log4j-over-slf4j:jar:1.6.4: {}
58
- org.codehaus.jackson:jackson-core-asl:jar:1.8.0: {}
59
- com.amazonaws:aws-java-sdk:jar:1.3.0:
60
- commons-codec:commons-codec:jar:1.3: {}
61
- com.google.guava:guava:jar:12.0.1:
62
- com.google.code.findbugs:jsr305:jar:1.3.9: {}
63
- org.clojure:tools.cli:jar:0.2.2: {}
64
- org.slf4j:jul-to-slf4j:jar:1.6.4:
65
- org.slf4j:slf4j-api:jar:1.6.4: {}
66
- org.slf4j:jcl-over-slf4j:jar:1.6.4: {}
67
- org.apache.lucene:lucene-core:jar:3.3.0: {}
68
- runtime:
69
- dependencies:
70
- - com.amazonaws:aws-java-sdk:jar:1.3.0
71
- - com.datomic:datomic-free:jar:0.8.3664
72
- - com.google.code.findbugs:jsr305:jar:1.3.9
73
- - com.google.guava:guava:jar:12.0.1
74
- - com.h2database:h2:jar:1.3.165
75
- - com.jamesmurty.utils:java-xmlbuilder:jar:0.4
76
- - commons-codec:commons-codec:jar:1.3
77
- - commons-httpclient:commons-httpclient:jar:3.1
78
- - net.java.dev.jets3t:jets3t:jar:0.8.1
79
- - org.apache.httpcomponents:httpclient:jar:4.2-alpha1
80
- - org.apache.httpcomponents:httpcore:jar:4.2-alpha2
81
- - org.apache.lucene:lucene-core:jar:3.3.0
82
- - org.apache.tomcat:tomcat-jdbc:jar:7.0.27
83
- - org.apache.tomcat:tomcat-juli:jar:7.0.27
84
- - org.clojure:clojure:jar:1.4.0
85
- - org.clojure:data.json:jar:0.1.2
86
- - org.clojure:tools.cli:jar:0.2.2
87
- - org.codehaus.jackson:jackson-core-asl:jar:1.8.0
88
- - org.codehaus.janino:commons-compiler-jdk:jar:2.6.1
89
- - org.codehaus.janino:commons-compiler:jar:2.6.1
90
- - org.fressian:fressian:jar:0.6.3
91
- - org.hornetq:hornetq-core:jar:2.2.2.Final
92
- - org.jboss.netty:netty:jar:3.2.4.Final
93
- - org.slf4j:jcl-over-slf4j:jar:1.6.4
94
- - org.slf4j:jul-to-slf4j:jar:1.6.4
95
- - org.slf4j:log4j-over-slf4j:jar:1.6.4
96
- - org.slf4j:slf4j-api:jar:1.6.4
97
- - org.slf4j:slf4j-nop:jar:1.6.4
98
- - postgresql:postgresql:jar:9.1-901.jdbc4
99
- - spy:spymemcached:jar:2.8.1
100
- artifacts:
101
- - jar:com.datomic:datomic-free:jar:0.8.3664:
102
- transitive:
103
- org.clojure:data.json:jar:0.1.2: {}
104
- net.java.dev.jets3t:jets3t:jar:0.8.1:
105
- commons-httpclient:commons-httpclient:jar:3.1: {}
106
- com.jamesmurty.utils:java-xmlbuilder:jar:0.4: {}
107
- org.jboss.netty:netty:jar:3.2.4.Final: {}
108
- com.h2database:h2:jar:1.3.165: {}
109
- org.slf4j:slf4j-nop:jar:1.6.4: {}
110
- org.hornetq:hornetq-core:jar:2.2.2.Final: {}
111
- postgresql:postgresql:jar:9.1-901.jdbc4: {}
112
- org.fressian:fressian:jar:0.6.3: {}
113
- org.apache.httpcomponents:httpclient:jar:4.2-alpha1:
114
- org.apache.httpcomponents:httpcore:jar:4.2-alpha2: {}
115
- org.clojure:clojure:jar:1.4.0: {}
116
- org.codehaus.janino:commons-compiler-jdk:jar:2.6.1:
117
- org.codehaus.janino:commons-compiler:jar:2.6.1: {}
118
- org.apache.tomcat:tomcat-jdbc:jar:7.0.27:
119
- org.apache.tomcat:tomcat-juli:jar:7.0.27: {}
120
- spy:spymemcached:jar:2.8.1: {}
121
- org.slf4j:log4j-over-slf4j:jar:1.6.4: {}
122
- org.codehaus.jackson:jackson-core-asl:jar:1.8.0: {}
123
- com.amazonaws:aws-java-sdk:jar:1.3.0:
124
- commons-codec:commons-codec:jar:1.3: {}
125
- com.google.guava:guava:jar:12.0.1:
126
- com.google.code.findbugs:jsr305:jar:1.3.9: {}
127
- org.clojure:tools.cli:jar:0.2.2: {}
128
- org.slf4j:jul-to-slf4j:jar:1.6.4:
129
- org.slf4j:slf4j-api:jar:1.6.4: {}
130
- org.slf4j:jcl-over-slf4j:jar:1.6.4: {}
131
- org.apache.lucene:lucene-core:jar:3.3.0: {}
132
- remote_repositories:
133
- - http://clojars.org/repo/
134
- - https://repository.jboss.org/nexus/content/groups/public/
@@ -1,63 +0,0 @@
1
- require 'java'
2
-
3
- java_import "clojure.lang.RT"
4
-
5
- class JRClj
6
- def initialize *pkgs
7
- @mappings = {}
8
- @ns_map = RT.var "clojure.core", "ns-map"
9
- @symbol = RT.var "clojure.core", "symbol"
10
- @require = RT.var "clojure.core", "require"
11
- _import "clojure.core"
12
- pkgs.each do |pkg|
13
- _import pkg
14
- end
15
- end
16
-
17
- def _import pkg_name, sym=nil, sym_alias=nil
18
- @require.invoke @symbol.invoke(pkg_name)
19
- if sym
20
- sym_alias ||= sym
21
- @mappings[sym_alias] = RT.var pkg_name, sym
22
- return
23
- end
24
- pkg = @symbol.invoke pkg_name
25
- @ns_map.invoke(pkg).each do |sym,var|
26
- @mappings[sym.to_s] = var
27
- end
28
- end
29
-
30
- def _eval s
31
- self.eval self.read_string(s)
32
- end
33
-
34
- def _invoke m, *args
35
- fun = @mappings[m.to_s] || @mappings[m.to_s.gsub "_", "-"]
36
- unless fun
37
- raise "Error, no current binding for symbol=#{m}"
38
- end
39
- fun.invoke(*args)
40
- end
41
-
42
- def _alias new, old
43
- @mappings[new] = @mappings[old]
44
- end
45
-
46
- def method_missing symbol, *args
47
- _invoke symbol, *args
48
- end
49
-
50
- def self.persistent_map entries=[]
51
- Java::ClojureLang::PersistentArrayMap.new entries.to_java
52
- end
53
-
54
- def edn_convert(obj)
55
- self.read_string(obj.to_edn)
56
- end
57
- end
58
-
59
- class Symbol
60
- def to_clj
61
- Java::ClojureLang::Keyword.intern(self.to_s)
62
- end
63
- end